Skip to content

Commit 7edc06e

Browse files
committed
continuous_big
1 parent 93dfefc commit 7edc06e

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

CHANGELOG_UNRELEASED.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
- in `constructive_ereal.v`:
88
+ lemma `ltgte_fin_num`
99

10+
- in `function_spaces.v`:
11+
+ lemmas `cvg_big`, `continuous_big`
12+
1013
### Changed
1114

1215
- in `lebesgue_stieltjes_measure.v` specialized from `numFieldType` to `realFieldType`:

theories/function_spaces.v

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1557,6 +1557,40 @@ End cartesian_closed.
15571557

15581558
End currying.
15591559

1560+
Section big_continuous.
1561+
1562+
Lemma cvg_big (T : Type) (U : topologicalType) [F : set_system T] [I : Type]
1563+
(r : seq I) (P : pred I) (Ff : I -> T -> U) (Fa : I -> U)
1564+
(op : U -> U -> U) (x0 : U):
1565+
Filter F ->
1566+
continuous (fun x : U * U => op x.1 x.2) ->
1567+
(forall i, P i -> Ff i x @[x --> F] --> Fa i) ->
1568+
\big[op/x0]_(i <- r | P i) (Ff i x) @[x --> F] -->
1569+
\big[op/x0]_(i <- r | P i) Fa i.
1570+
Proof.
1571+
move=> FF opC0 cvg_f.
1572+
elim: r => [|x r IHr].
1573+
rewrite big_nil.
1574+
under eq_cvg do rewrite big_nil.
1575+
exact: cvg_cst.
1576+
rewrite big_cons (eq_cvg _ _ (fun x => big_cons _ _ _ _ _ _)).
1577+
case/boolP: (P x) => // Px.
1578+
apply: (@cvg_comp _ _ _ (fun x1 => (Ff x x1, \big[op/x0]_(j <- r | P j) Ff j x1)) _ _ (nbhs (Fa x, \big[op/x0]_(j <- r | P j) Fa j)) _ _ (continuous_curry_cvg opC0)).
1579+
by apply: cvg_pair => //; apply: cvg_f.
1580+
Qed.
1581+
1582+
Lemma continuous_big [K T : topologicalType] [I : Type] (r : seq I)
1583+
(P : pred I) (F : I -> T -> K) (op : K -> K -> K) (x0 : K) :
1584+
continuous (fun x : K * K => op x.1 x.2) ->
1585+
(forall i, P i -> continuous (F i)) ->
1586+
continuous (fun x => \big[op/x0]_(i <- r | P i) F i x).
1587+
Proof.
1588+
move=> op_cont f_cont x.
1589+
by apply: cvg_big => // i /f_cont; apply.
1590+
Qed.
1591+
1592+
End big_continuous.
1593+
15601594
Definition eval {X Y : topologicalType} : continuousType X Y * X -> Y :=
15611595
uncurry (id : continuousType X Y -> (X -> Y)).
15621596

0 commit comments

Comments
 (0)