Module mathcomp.analysis.homotopy_theory.continuous_path
From HB Require Import structures.From mathcomp Require Import boot order generic_quotient algebra.
From mathcomp Require Import finmap.
From mathcomp Require Import mathcomp_extra boolp classical_sets functions.
From mathcomp Require Import cardinality fsbigop reals topology wedge_sigT.
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Reserved Notation "{ 'path' i 'from' x 'to' y }" (
at level 0, i at level 69, x at level 69, y at level 69,
only parsing,
format "{ 'path' i 'from' x 'to' y }").
Reserved Notation "{ 'path' i 'from' x 'to' y 'in' T }" (
at level 0, i at level 69, x at level 69, y at level 69, T at level 69,
format "{ 'path' i 'from' x 'to' y 'in' T }").
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Local Open Scope quotient_scope.
.
Source code
Source code
Source code
Source code
(f : i -> T) & isContinuous i T f := {
path_zero : f zero = x;
path_one : f one = y;
}.
Source code
Source code
Source code
.
Source code
Source code
Source code
Source code
(x y : T) := { of isPath i T x y f & isContinuous i T f}.
Notation
Source code
Notation
Source code
(@pathType i T x y) : type_scope.
.
Source code
Source code
Source code
{T : topologicalType} (x y : T) := gen_eqMixin {path i from x to y}.
.
Source code
Source code
Source code
{T : topologicalType} (x y : T) := gen_choiceMixin {path i from x to y}.
.
Source code
Source code
Source code
{T : topologicalType} (x y : T) :=
Topological.copy {path i from x to y}
(@initial_topology {path i from x to y} {compact-open, i -> T} id).
Section path_eq.
Context { : topologicalType} { : bpTopologicalType} ( : T).
Lemma
Source code
Proof.
move: a b => [/= f [[+ +]]] [/= g [[+ +]]] fgE.
move/funext : fgE => -> /= a1 [b1 c1] a2 [b2 c2]; congr (_ _).
rewrite (Prop_irrelevance a1 a2) (Prop_irrelevance b1 b2).
by rewrite (Prop_irrelevance c1 c2).
Qed.
End path_eq.
Section cst_path.
Context { : topologicalType} { : bpTopologicalType} (: T).
.
Source code
Source code
Source code
End cst_path.
Section path_domain_path.
Context { : bpTopologicalType}.
.
Source code
Source code
Source code
End path_domain_path.
Section path_compose.
Context { : topologicalType} (: bpTopologicalType) ( : T).
Context ( : continuousType T U) ( : {path i from x to y}).
Local Lemma
Source code
Proof.
Local Lemma
Source code
Proof.
.
Source code
Source code
Source code
fp_zero fp_one.
End path_compose.
Section path_reparameterize.
Context { : topologicalType} ( : bpTopologicalType) ( : T).
Context ( : {path i from x to y}) (
Source code
Definition
Source code
Let
Source code
Proof.
Let
Source code
Proof.
Let
Source code
Proof.
.
Source code
Source code
Source code
.
Source code
Source code
Source code
fphi_zero fphi_one.
End path_reparameterize.
Section mk_path.
Context { : bpTopologicalType} { : topologicalType}.
Context { : T} ( : i -> T) (
Source code
Context ( : f zero = x) ( : f one = y).
Definition
reparameterize : forall {T : topology_structure.Topological.type} [i j : topology_structure.BiPointedTopological.type] [x y : topology_structure.Topological.sort T], {path i from x to y in T} -> {path j from zero to one in topology_structure.BiPointedTopological.Exports.topology_structure_BiPointedTopological__to__topology_structure_Topological i} -> topology_structure.BiPointedTopological.sort j -> topology_structure.Topological.sort T reparameterize is not universe polymorphic Arguments reparameterize {T} [i j x y] f phi x reparameterize is transparent Expands to: Constant mathcomp.analysis.homotopy_theory.continuous_path.reparameterize Declared in library mathcomp.analysis.homotopy_theory.continuous_path, line 114, characters 11-25
Source code
.
Source code
Source code
Source code
.
Source code
Source code
Source code
End mk_path.
Definition
mk_path : forall {i : topology_structure.BiPointedTopological.type} {T : topology_structure.Topological.type} {x y : topology_structure.Topological.sort T} [f : topology_structure.BiPointedTopological.sort i -> topology_structure.Topological.sort T], (forall x0 : filter.Nbhs.sort (topology_structure.BiPointedTopological.Exports.topology_structure_BiPointedTopological__to__filter_Nbhs i), filter.continuous_at (T:=topology_structure.BiPointedTopological.Exports.topology_structure_BiPointedTopological__to__filter_Nbhs i) (U:=topology_structure.Topological.Exports.topology_structure_Topological__to__filter_Nbhs T) x0 f) -> f zero = x -> f one = y -> topology_structure.BiPointedTopological.sort i -> topology_structure.Topological.sort T mk_path is not universe polymorphic Arguments mk_path {i T x y} [f]%_function_scope ctsf%_function_scope f0 f1 _ mk_path is transparent Expands to: Constant mathcomp.analysis.homotopy_theory.continuous_path.mk_path Declared in library mathcomp.analysis.homotopy_theory.continuous_path, line 137, characters 11-18
Source code
( : i -> T) ( : j -> T) : bpwedge i j -> T :=
wedge_fun (fun => if return (if b then i else j) -> T then f else g).
Lemma
Source code
( : i -> T) ( : j -> T) :
continuous f ->
continuous g ->
f one = g zero ->
continuous (chain_path f g).
Proof.
Section chain_path.
Context { : topologicalType} { : bpTopologicalType} ( : T).
Context ( : {path i from x to y}) ( : {path j from y to z}).
Let
Source code
Proof.
by case => //= [][] //=; rewrite ?path_one ?path_zero.
Qed.
Let
Source code
Proof.
by case => //= [][] //=; rewrite ?path_one ?path_zero.
Qed.
Let
Source code
Proof.
.
Source code
Source code
Source code
chain_path_cts.
.
Source code
Source code
Source code
chain_path_zero chain_path_one.
End chain_path.