Skip to content

Commit f5be604

Browse files
committed
continuous_big
1 parent 3abeb14 commit f5be604

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
- in `num_normedtype.v`:
1111
+ lemma `nbhs_infty_gtr`
12+
- in `function_spaces.v`:
13+
+ lemmas `cvg_big`, `continuous_big`
1214

1315
### Changed
1416

theories/function_spaces.v

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1557,6 +1557,39 @@ 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; under eq_cvg do rewrite big_nil.
1574+
exact: cvg_cst.
1575+
rewrite big_cons; under eq_cvg do rewrite big_cons.
1576+
case: ifP => // Px.
1577+
apply: (@cvg_comp _ _ _
1578+
(fun x1 => (Ff x x1, \big[op/x0]_(j <- r | P j) Ff j x1)) _ _
1579+
(nbhs (Fa x, \big[op/x0]_(j <- r | P j) Fa j)) _ _
1580+
(continuous_curry_cvg opC0)).
1581+
by apply: cvg_pair => //; apply: cvg_f.
1582+
Qed.
1583+
1584+
Lemma continuous_big [K T : topologicalType] [I : Type] (r : seq I)
1585+
(P : pred I) (F : I -> T -> K) (op : K -> K -> K) (x0 : K) :
1586+
continuous (fun x : K * K => op x.1 x.2) ->
1587+
(forall i, P i -> continuous (F i)) ->
1588+
continuous (fun x => \big[op/x0]_(i <- r | P i) F i x).
1589+
Proof. by move=> op_cont f_cont x; apply: cvg_big => // i /f_cont; apply. Qed.
1590+
1591+
End big_continuous.
1592+
15601593
Definition eval {X Y : topologicalType} : continuousType X Y * X -> Y :=
15611594
uncurry (id : continuousType X Y -> (X -> Y)).
15621595

0 commit comments

Comments
 (0)