Module mathcomp.classical.functions
From mathcomp Require Import boot order finmap ssralg ssrnum ssrint rat.From HB Require Import structures.
#[warning="-warn-library-file-internal-analysis"]
From mathcomp Require Import unstable.
From mathcomp Require Import boolp classical_sets.
Add Search Blacklist "__canonical__".
Add Search Blacklist "__functions_".
Add Search Blacklist "_factory_".
Add Search Blacklist "_mixin_".
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Reserved Notation "f \_ D" (at level 10).
Reserved Notation "'{' 'fun' A '>->' B '}'"
(format "'{' 'fun' A '>->' B '}'").
Reserved Notation "'{' 'oinv' T '>->' U '}'"
(format "'{' 'oinv' T '>->' U '}'").
Reserved Notation "'{' 'inv' T '>->' U '}'"
(format "'{' 'inv' T '>->' U '}'").
Reserved Notation "'{' 'oinvfun' T '>->' U '}'"
(format "'{' 'oinvfun' T '>->' U '}'").
Reserved Notation "'{' 'invfun' T '>->' U '}'"
(format "'{' 'invfun' T '>->' U '}'").
Reserved Notation "'{' 'inj' A '>->' T '}'"
(format "'{' 'inj' A '>->' T '}'").
Reserved Notation "'{' 'splitinj' A '>->' T '}'"
(format "'{' 'splitinj' A '>->' T '}'").
Reserved Notation "'{' 'surj' A '>->' B '}'"
(format "'{' 'surj' A '>->' B '}'").
Reserved Notation "'{' 'splitsurj' A '>->' B '}'"
(format "'{' 'splitsurj' A '>->' B '}'").
Reserved Notation "'{' 'injfun' A '>->' B '}'"
(format "'{' 'injfun' A '>->' B '}'").
Reserved Notation "'{' 'surjfun' A '>->' B '}'"
(format "'{' 'surjfun' A '>->' B '}'").
Reserved Notation "'{' 'splitinjfun' A '>->' B '}'"
(format "'{' 'splitinjfun' A '>->' B '}'").
Reserved Notation "'{' 'splitsurjfun' A '>->' B '}'"
(format "'{' 'splitsurjfun' A '>->' B '}'").
Reserved Notation "'{' 'bij' A '>->' B '}'"
(format "'{' 'bij' A '>->' B '}'").
Reserved Notation "'{' 'splitbij' A '>->' B '}'"
(format "'{' 'splitbij' A '>->' B '}'").
Reserved Notation "[ 'fun' 'of' f ]" (format "[ 'fun' 'of' f ]").
Reserved Notation "[ 'fun' f 'in' A ]" (format "[ 'fun' f 'in' A ]").
Reserved Notation "[ 'oinv' 'of' f ]" (format "[ 'oinv' 'of' f ]").
Reserved Notation "[ 'inv' 'of' f ]" (format "[ 'inv' 'of' f ]").
Reserved Notation "[ 'oinv' 'of' f ]" (format "[ 'oinv' 'of' f ]").
Reserved Notation "[ 'inv' 'of' f ]" (format "[ 'inv' 'of' f ]").
Reserved Notation "[ 'inj' 'of' f ]" (format "[ 'inj' 'of' f ]").
Reserved Notation "[ 'splitinj' 'of' f ]" (format "[ 'splitinj' 'of' f ]").
Reserved Notation "[ 'surj' 'of' f ]" (format "[ 'surj' 'of' f ]").
Reserved Notation "[ 'splitsurj' 'of' f ]" (format "[ 'splitsurj' 'of' f ]").
Reserved Notation "[ 'injfun' 'of' f ]" (format "[ 'injfun' 'of' f ]").
Reserved Notation "[ 'surjfun' 'of' f ]" (format "[ 'surjfun' 'of' f ]").
Reserved Notation "[ 'splitinjfun' 'of' f ]"
(format "[ 'splitinjfun' 'of' f ]").
Reserved Notation "[ 'splitsurjfun' 'of' f ]"
(format "[ 'splitsurjfun' 'of' f ]").
Reserved Notation "[ 'bij' 'of' f ]" (format "[ 'bij' 'of' f ]").
Reserved Notation "[ 'splitbij' 'of' f ]" (format "[ 'splitbij' 'of' f ]").
Reserved Notation "''oinv_' f" (at level 8, f at level 2, format "''oinv_' f").
Reserved Notation "''funS_' f" (at level 8, f at level 2, format "''funS_' f").
Reserved Notation "''mem_fun_' f"
(at level 8, f at level 2, format "''mem_fun_' f").
Reserved Notation "''oinvK_' f"
(at level 8, f at level 2, format "''oinvK_' f").
Reserved Notation "''oinvS_' f"
(at level 8, f at level 2, format "''oinvS_' f").
Reserved Notation "''oinvP_' f"
(at level 8, f at level 2, format "''oinvP_' f").
Reserved Notation "''oinvT_' f"
(at level 8, f at level 2, format "''oinvT_' f").
Reserved Notation "''invK_' f"
(at level 8, f at level 2, format "''invK_' f").
Reserved Notation "''invS_' f"
(at level 8, f at level 2, format "''invS_' f").
Reserved Notation "''funoK_' f"
(at level 8, f at level 2, format "''funoK_' f").
Reserved Notation "''inj_' f"
(at level 8, f at level 2, format "''inj_' f").
Reserved Notation "''funK_' f"
(at level 8, f at level 2, format "''funK_' f").
Reserved Notation "''totalfun_' A"
(at level 8, A at level 2, format "''totalfun_' A").
Reserved Notation "''surj_' f"
(at level 8, f at level 2, format "''surj_' f").
Reserved Notation "''split_' a"
(at level 8, a at level 2, format "''split_' a").
Reserved Notation "''bijTT_' f"
(at level 8, f at level 2, format "''bijTT_' f").
Reserved Notation "''bij_' f" (at level 8, f at level 2, format "''bij_' f").
Reserved Notation "''valL_' v" (at level 8, v at level 2, format "''valL_' v").
Reserved Notation "''valLfun_' v"
(at level 8, v at level 2, format "''valLfun_' v").
Reserved Notation "''pinv_' dflt"
(at level 8, dflt at level 2, format "''pinv_' dflt").
Reserved Notation "''pPbij_' dflt"
(at level 8, dflt at level 2, format "''pPbij_' dflt").
Reserved Notation "''pPinj_' dflt"
(at level 8, dflt at level 2, format "''pPinj_' dflt").
Reserved Notation "''injpPfun_' dflt"
(at level 8, dflt at level 2, format "''injpPfun_' dflt").
Reserved Notation "''funpPinj_' dflt"
(at level 8, dflt at level 2, format "''funpPinj_' dflt").
Local Open Scope classical_set_scope.
Section MainProperties.
Context { } ( : set aT) ( : set rT) ( : aT -> rT).
Definition
Used by
- mathcomp.classical.set_interval
- mathcomp.classical.cardinality
Source code
Definition
Used by
- mathcomp.classical.cardinality
- mathcomp.analysis.cantor
- mathcomp.analysis.realfun
- mathcomp.analysis.measure_theory.measurable_structure
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Definition
Used by
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.cantor
- mathcomp.analysis.esum
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.measure_theory.measure_function
Source code
Definition
Used by
- mathcomp.classical.set_interval
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
- mathcomp.analysis.kernel
Source code
End MainProperties.
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.realfun
Source code
{ funS : set_fun A B f }.
.
{ of isFun _ _ A B f }.
Notation
Notation
.
.
Notation
Notation
form_scope.
Definition
set_fun : forall {aT rT : Type}, set aT -> set rT -> (aT -> rT) -> Prop set_fun is not universe polymorphic Arguments set_fun {aT rT}%_type_scope (A B)%_classical_set_scope f%_function_scope set_fun is transparent Expands to: Constant mathcomp.classical.functions.set_fun Declared in library mathcomp.classical.functions, line 251, characters 11-18
Source code
& phantom (_ -> _) f := @oinv _ _ f.
Notation
.
{ of OInv aT rT f & isFun aT rT A B f}.
Notation
Notation
[the {oinvfun _ >-> _} of f : _ -> _] : form_scope.
.
inv : rT -> aT;
oliftV : olift inv = 'oinv_f
}.
.
.
.
.
.
.
Notation
Notation
Definition
set_surj : forall {aT rT : Type}, set aT -> set rT -> (aT -> rT) -> Prop set_surj is not universe polymorphic Arguments set_surj {aT rT}%_type_scope (A B)%_classical_set_scope f%_function_scope set_surj is transparent Expands to: Constant mathcomp.classical.functions.set_surj Declared in library mathcomp.classical.functions, line 252, characters 11-19
Source code
@inv _ _ f.
Notation
Notation
(@phant_inv _ _ _ (Phantom (_ -> _) f%function)) : function_scope.
.
{ of Inv aT rT f & isFun aT rT A B f}.
Notation
Notation
[the {invfun _ >-> _} of f : _ -> _] : form_scope.
.
(f : aT -> rT) & OInv _ _ f := {
oinvS : {homo 'oinv_f : / B x >-> (some @` A) x};
oinvK : {in B, ocancel 'oinv_f f};
}.
.
oinv; oinvS : {homo oinv : / B x >-> (some @` A) x};
oinvK : {in B, ocancel oinv f};
}.
.
& OCanV _ _ A B f.
.
.
.
.
Notation
Notation
[the {surj _ >-> _} of f : _ -> _] : form_scope.
.
{ of @Surject aT rT A B f & @Fun _ _ A B f}.
Notation
Notation
[the {surjfun _ >-> _} of f : _ -> _] : form_scope.
.
{ of @Surject aT rT A B f & @Inv _ _ f}.
Notation
Notation
[the {splitsurj _ >-> _} of f : _ -> _] : form_scope.
.
{ of @SplitSurj aT rT A B f & @Fun _ _ A B f}.
Notation
(@SplitSurjFun.type _ _ A B) : type_scope.
Notation
[the {splitsurjfun _ >-> _} of f : _ -> _] : form_scope.
.
{ funoK : {in A, pcancel f 'oinv_f} }.
.
{ of OInv aT rT f & OInv_Can aT rT A f}.
Notation
Notation
.
{ of @Fun _ _ A B f & @Inject _ _ A f }.
Notation
Notation
[the {injfun _ >-> _} of f : _ -> _] : form_scope.
.
{ of @Inv aT rT f & @Inject aT rT A f}.
Notation
Notation
[the {splitinj _ >-> _} of f : _ -> _] : form_scope.
.
{ of @SplitInj _ rT A f & @isFun _ _ A B f}.
Notation
Notation
[the {splitinjfun _ >-> _} of f : _ -> _] : form_scope.
.
{ of @InjFun _ _ A B f & @SurjFun _ _ A B f}.
Notation
Notation
.
{ of @SplitInjFun _ _ A B f & @SplitSurjFun _ _ A B f}.
Notation
Notation
Module
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Notation
End ShortFunSyntax.
Definition
set_inj : forall {aT rT : Type}, set aT -> (aT -> rT) -> Prop set_inj is not universe polymorphic Arguments set_inj {aT rT}%_type_scope A%_classical_set_scope f%_function_scope set_inj is transparent Expands to: Constant mathcomp.classical.functions.set_inj Declared in library mathcomp.classical.functions, line 253, characters 11-18 set_bij : forall {aT rT : Type}, set aT -> set rT -> (aT -> rT) -> Prop set_bij is not universe polymorphic Arguments set_bij {aT rT}%_type_scope (A B)%_classical_set_scope f%_function_scope set_bij is transparent Expands to: Constant mathcomp.classical.functions.set_bij Declared in library mathcomp.classical.functions, line 254, characters 11-18 phant_oinv : forall [aT rT : Type] [f : {oinv aT >-> rT}], phantom (aT -> rT) f -> rT -> option aT phant_oinv is not universe polymorphic Arguments phant_oinv [aT rT]%_type_scope [f] _ _ phant_oinv is transparent Expands to: Constant mathcomp.classical.functions.phant_oinv Declared in library mathcomp.classical.functions, line 269, characters 11-21
Source code
( : {fun A >-> B}) & phantom (_ -> _) f := @funS _ _ _ _ f.
Notation
- mathcomp.classical.cardinality
Source code
(at level 8, f at level 2) : form_scope.
#[global] Hint Extern 0 (set_fun _ _ _) => solve [apply: funS] : core.
#[global] Hint Extern 0 (prop_in1 _ _) => solve [apply: funS] : core.
Definition
phant_inv : forall [aT rT : Type] [f : { inv aT >-> rT}], phantom (aT -> rT) f -> rT -> aT phant_inv is not universe polymorphic Arguments phant_inv [aT rT]%_type_scope [f] _ _ phant_inv is transparent Expands to: Constant mathcomp.classical.functions.phant_inv Declared in library mathcomp.classical.functions, line 293, characters 11-20
Used by
- mathcomp.classical.cardinality
Source code
image_subP.2 (@funS _ _ _ _ f).
Arguments fun_image_sub {aT rT A B}.
#[global] Hint Extern 0 (_ @` _ `<=` _) => solve [apply: fun_image_sub] : core.
Definition
phant_funS : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {fun A >-> B}], phantom (aT -> rT) f -> set_fun A B f phant_funS is not universe polymorphic Expanded type for implicit arguments phant_funS : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {fun A >-> B}], phantom (aT -> rT) f -> forall [x : aT], [eta A] x -> B (f x) Arguments phant_funS [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_funS is transparent Expands to: Constant mathcomp.classical.functions.phant_funS Declared in library mathcomp.classical.functions, line 406, characters 11-21
Source code
homo_setP.2 (@funS _ _ _ _ f).
#[global] Hint Extern 0 (prop_in1 _ _) => solve [apply: mem_fun] : core.
Definition
fun_image_sub : forall {aT rT : Type} {A : set aT} {B : set rT} (f : {fun A >-> B}), ([set f x | x in [eta A]] `<=` [eta B])%classic fun_image_sub is not universe polymorphic Arguments fun_image_sub {aT rT}%_type_scope {A B}%_classical_set_scope f t _ fun_image_sub is transparent Expands to: Constant mathcomp.classical.functions.fun_image_sub Declared in library mathcomp.classical.functions, line 413, characters 11-24
Source code
( : {fun A >-> B}) & phantom (_ -> _) f := homo_setP.2 (@funS _ _ _ _ f).
Notation
(at level 8, f at level 2) : form_scope.
Lemma
Proof.
Definition
mem_fun : forall [aT rT : Type] [A : set aT] [B : set rT] (f : {fun A >-> B}), {homo f : x / x \in [eta A] >-> x \in [eta B]} mem_fun is not universe polymorphic Expanded type for implicit arguments mem_fun : forall [aT rT : Type] [A : set aT] [B : set rT] (f : {fun A >-> B}) [x : aT], (fun x0 : aT => is_true (x0 \in [eta A])) x -> (f x \in [eta B]) = true Arguments mem_fun [aT rT]%_type_scope [A B]%_classical_set_scope f [x] _ mem_fun is transparent Expands to: Constant mathcomp.classical.functions.mem_fun Declared in library mathcomp.classical.functions, line 418, characters 11-18
Source code
( : {surj A >-> B}) & phantom (_ -> _) f := @oinvK _ _ _ _ f.
Notation
#[global] Hint Resolve oinvK : core.
Definition
phant_mem_fun : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {fun A >-> B}], phantom (aT -> rT) f -> {homo f : x / x \in [eta A] >-> x \in [eta B]} phant_mem_fun is not universe polymorphic Expanded type for implicit arguments phant_mem_fun : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {fun A >-> B}], phantom (aT -> rT) f -> forall [x : aT], (fun x0 : aT => is_true (x0 \in [eta A])) x -> (f x \in [eta B]) = true Arguments phant_mem_fun [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_mem_fun is transparent Expands to: Constant mathcomp.classical.functions.phant_mem_fun Declared in library mathcomp.classical.functions, line 422, characters 11-24
Source code
( : {surj A >-> B}) & phantom (_ -> _) f := @oinvS _ _ _ _ f.
Notation
#[global] Hint Resolve oinvS : core.
Variant
rT -> option aT -> Type :=
Lemma
B y -> oinv_spec f y y ('oinv_f y).
Proof.
Definition
phant_oinvK : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> {in B, ocancel 'oinv_f f} phant_oinvK is not universe polymorphic Expanded type for implicit arguments phant_oinvK : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> forall [x : rT], x \in B -> oapp f x ('oinv_f x) = x Arguments phant_oinvK [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_oinvK is transparent Expands to: Constant mathcomp.classical.functions.phant_oinvK Declared in library mathcomp.classical.functions, line 430, characters 11-22
Source code
( : {surj A >-> B}) & phantom (_ -> _) f := @oinvP _ _ _ _ f.
Notation
- mathcomp.classical.cardinality
Source code
#[global] Hint Resolve oinvP : core.
Lemma
B x -> 'oinv_f x.
Proof.
phant_oinvS : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> {homo 'oinv_f : x / B x >-> [set Some x | x in A]%classic x} phant_oinvS is not universe polymorphic Expanded type for implicit arguments phant_oinvS : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> forall [x : rT], [eta B] x -> exists2 x0 : aT, A x0 & Some x0 = 'oinv_f x Arguments phant_oinvS [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_oinvS is transparent Expands to: Constant mathcomp.classical.functions.phant_oinvS Declared in library mathcomp.classical.functions, line 435, characters 11-22
Source code
( : {surj A >-> B}) & phantom (_ -> _) f := @oinvT _ _ _ _ f.
Notation
#[global] Hint Resolve oinvT : core.
Lemma
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.measure_theory.measure_extension
- mathcomp.analysis.measure_theory.measurable_structure
Source code
{in B, cancel f^-1 f}.
Definition
phant_oinvP : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> forall [y : rT], B y -> oinv_spec f y y ('oinv_f y) phant_oinvP is not universe polymorphic Arguments phant_oinvP [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [y] _ phant_oinvP is transparent Expands to: Constant mathcomp.classical.functions.phant_oinvP Declared in library mathcomp.classical.functions, line 451, characters 11-22
Source code
( : {splitsurj A >-> B}) & phantom (_ -> _) f := @invK _ _ _ _ f.
Notation
#[global] Hint Resolve invK : core.
Lemma
- mathcomp.analysis.probability_theory.random_variable
Source code
{homo f^-1 : / B x >-> A x}.
Definition
phant_oinvT : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> forall [x : rT], B x -> 'oinv_f x phant_oinvT is not universe polymorphic Arguments phant_oinvT [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_oinvT is transparent Expands to: Constant mathcomp.classical.functions.phant_oinvT Declared in library mathcomp.classical.functions, line 459, characters 11-22
Source code
{ : {splitsurjfun A >-> B}} & phantom (_ -> _) f := @invS _ _ _ _ f.
Notation
- mathcomp.analysis.measure_theory.measure_function
Source code
#[global] Hint Resolve invS : core.
Definition
phant_invK : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {splitsurj A >-> B}], phantom (aT -> rT) f -> {in B, cancel f^-1 f} phant_invK is not universe polymorphic Expanded type for implicit arguments phant_invK : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {splitsurj A >-> B}], phantom (aT -> rT) f -> forall [x : rT], x \in B -> f (f^-1 x) = x Arguments phant_invK [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [x] _ phant_invK is transparent Expands to: Constant mathcomp.classical.functions.phant_invK Declared in library mathcomp.classical.functions, line 467, characters 11-21
Source code
& phantom (_ -> _) f := @funoK _ _ _ f.
Notation
- mathcomp.classical.cardinality
Source code
#[global] Hint Resolve funoK : core.
Definition
phant_invS : forall [aT rT : Type] [A : set aT] [B : set rT] {f : {splitsurjfun A >-> B}}, phantom (aT -> rT) f -> {homo f^-1 : x / B x >-> A x} phant_invS is not universe polymorphic Expanded type for implicit arguments phant_invS : forall [aT rT : Type] [A : set aT] [B : set rT] {f : {splitsurjfun A >-> B}}, phantom (aT -> rT) f -> forall [x : rT], [eta B] x -> A (f^-1 x) Arguments phant_invS [aT rT]%_type_scope [A B]%_classical_set_scope {f} _ [x] _ phant_invS is transparent Expands to: Constant mathcomp.classical.functions.phant_invS Declared in library mathcomp.classical.functions, line 475, characters 11-21
Used by
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.probability_theory.random_variable
Source code
{in A &, injective f} := pcan_in_inj funoK.
Definition
phant_funoK : forall [aT rT : Type] [A : set aT] [f : {inj A >-> rT}], phantom (aT -> rT) f -> {in A, pcancel f 'oinv_f} phant_funoK is not universe polymorphic Expanded type for implicit arguments phant_funoK : forall [aT rT : Type] [A : set aT] [f : {inj A >-> rT}], phantom (aT -> rT) f -> forall [x : aT], x \in A -> 'oinv_f (f x) = Some x Arguments phant_funoK [aT rT]%_type_scope [A]%_classical_set_scope [f] _ [x] _ phant_funoK is transparent Expands to: Constant mathcomp.classical.functions.phant_funoK Declared in library mathcomp.classical.functions, line 480, characters 11-22
Source code
phantom (_ -> _) f := @inj _ _ _ f.
Notation
- mathcomp.classical.cardinality
- mathcomp.analysis.measure_theory.measure_function
Source code
Definition
inj : forall {aT rT : nonPropType} {A : set aT} {f : {inj A >-> rT}}, {in A &, injective f} inj is not universe polymorphic Expanded type for implicit arguments inj : forall {aT rT : nonPropType} {A : set aT} {f : {inj A >-> rT}} [x y : aT], x \in A -> y \in A -> f x = f y -> x = y Arguments inj {aT rT} {A}%_classical_set_scope {f} [x y] _ _ _ inj is transparent Expands to: Constant mathcomp.classical.functions.inj Declared in library mathcomp.classical.functions, line 485, characters 11-14
Source code
{in A &, injective f} := inj.
#[global] Hint Extern 0 {in _ &, injective _} => solve [apply: inj_hint] : core.
#[global] Hint Extern 0 (set_inj _ _) => solve [apply: inj_hint] : core.
Lemma
#[global] Hint Extern 0 (injective _) => solve [apply: injT] : core.
Lemma
- mathcomp.classical.cardinality
- mathcomp.analysis.measure_theory.measure_extension
- mathcomp.analysis.measure_theory.measure_function
- mathcomp.analysis.normedtype_theory.normed_module
Source code
{in A, cancel s s^-1}.
Definition
phant_inj : forall [aT rT : Type] [A : set aT] [f : {inj A >-> rT}], phantom (aT -> rT) f -> {in A &, injective f} phant_inj is not universe polymorphic Expanded type for implicit arguments phant_inj : forall [aT rT : Type] [A : set aT] [f : {inj A >-> rT}], phantom (aT -> rT) f -> forall [x y : notProp aT], x \in A -> y \in A -> f x = f y -> x = y Arguments phant_inj [aT rT]%_type_scope [A]%_classical_set_scope [f] _ [x y] _ _ _ phant_inj is transparent Expands to: Constant mathcomp.classical.functions.phant_inj Declared in library mathcomp.classical.functions, line 487, characters 11-20
Source code
& phantom (_ -> _) f := @funK _ _ _ f.
Notation
#[global] Hint Resolve funK : core.
Lemma
f = g <-> f =1 g.
Proof.
rewrite eqfg in ffun *; congr {| Fun.sort := _; Fun.class := {|
Fun.functions_isFun_mixin := {|isFun.funS := _|}|}|}.
exact: Prop_irrelevance.
Qed.
.
{ funK : {in A, cancel f f^-1} }.
.
Local Lemma
Proof.
.
.
& Inv aT rT f := {
invS : {homo f^-1 : / B x >-> A x};
invK : {in B, cancel f^-1 f};
}.
.
& Inv_CanV _ _ A B f.
#[local] Lemma
#[local] Lemma
.
.
Section OInverse.
Context { : Type} { : set aT} { : set rT}.
.
OInv.Build _ _ 'oinv_f (omap f).
Lemma
Proof.
.
isFun.Build rT (option aT) B (some @` A) 'oinv_f oinvS.
Lemma
Proof.
Lemma
OInv_CanV _ _ B (some @` A) 'oinv_f.
Proof.
.
End OInverse.
Section Inverse.
Context { : Type} { : set aT} { : set rT}.
.
.
Lemma
- mathcomp.classical.cardinality
Source code
Proof.
.
isFun.Build rT aT B A f^-1 invS.
.
.
Inv_Can.Build _ _ _ f^-1 'invK_f.
.
Inv_CanV.Build _ _ _ _ f^-1 funS funK.
.
End Inverse.
Section Some.
Context {} { : set T}.
.
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
End Some.
Section OApply.
Context { } { : set aT} { : set rT} { : rT}.
Local Notation
.
Inv.Build _ _ (oapp f) 'oinv_f.
Lemma
Proof.
Proof.
Lemma
.
Lemma
.
Lemma
Proof.
.
.
.
.
End OApply.
Section OBind.
Context { } { : set aT} { : set (option rT)}.
Local Notation f := (oapp f None).
Local Notation
.
Inv.Build _ _ (obind f) 'oinv_f.
Lemma
Proof.
Proof.
.
.
.
.
.
.
End OBind.
Section Composition.
Context { } { : set aT} { : set rT} { : set sT}.
Local Lemma
isFun _ _ A C (g \o f).
.
Section OInv.
Context { : {oinv aT >-> rT}} { : {oinv rT >-> sT}}.
.
Lemma
Proof.
Section OInv.
Context { : {inv aT >-> rT}} { : {inv rT >-> sT}}.
Lemma
.
Lemma
Proof.
Lemma
OInv_Can aT sT A (g \o f).
.
.
Inject.on (g \o f).
.
(g : {splitinj B >-> sT}) := Inject.on (g \o f).
.
(g : {splitinjfun B >-> C}) := Inject.on (g \o f).
End Composition.
Section Composition.
Context { } { : set aT} { : set rT} { : set sT}.
Lemma
OInv_CanV _ _ A C (g \o f).
Proof.
apply: (@ocan_in_comp _ _ _ (mem B)) oinvK oinvK.
by move=> ? /set_mem; rewrite pred_oapp_set inE; apply: funS.
Qed.
.
.
Surject.on (g \o f).
.
Surject.on (g \o f).
.
(g : {splitsurjfun B >-> C}) := Surject.on (g \o f).
.
Surject.on (g \o f).
.
Surject.on (g \o f).
End Composition.
Section totalfun.
Context { : Type}.
Definition
inj_hint : forall {aT rT : Type} {A : set aT} {f : {inj A >-> rT}}, {in A &, injective f} inj_hint is not universe polymorphic Expanded type for implicit arguments inj_hint : forall {aT rT : Type} {A : set aT} {f : {inj A >-> rT}} [x y : aT], x \in A -> y \in A -> f x = f y -> x = y Arguments inj_hint {aT rT}%_type_scope {A}%_classical_set_scope {f} [x y] _ _ _ inj_hint is transparent Expands to: Constant mathcomp.classical.functions.inj_hint Declared in library mathcomp.classical.functions, line 491, characters 11-19
Source code
Context { : set aT}.
Local Notation
.
isFun.Build _ _ A setT (totalfun f) (fun _ _ => I).
.
.
.
Surject.on (totalfun f).
.
SplitSurj.on (totalfun f).
End totalfun.
Notation
- mathcomp.classical.cardinality
Source code
Notation
Section Olift.
Context { } { : set aT} { : set rT}.
.
(Some \o f).
Lemma
Proof.
.
Inject.copy (olift f) (Some \o ('totalfun_A f)).
.
Surject.copy (olift f) (Some \o f).
.
.
.
.
.
End Olift.
Section Map.
Context { } { : set aT} { : set rT}.
Local Notation f := (obind (olift f)).
.
.
Inv.Build _ _ (omap f) (obind 'oinv_f).
Lemma
Proof.
Proof.
.
.
.
.
.
.
End Map.
.
{ inv; invS : {homo inv : / B x >-> A x}; invK : {in B, cancel inv f}; }.
.
.
.
.
.
@OInv _ _ f :=
{
funS : {homo f : / A x >-> B x};
oinvS : {homo 'oinv_f : / B x >-> (some @` A) x};
funoK : {in A, pcancel f 'oinv_f};
oinvK : {in B, ocancel 'oinv_f f};
}.
.
.
.
.
.
.
{ oinv; funS : {homo f : / A x >-> B x};
oinvS : {homo oinv : / B x >-> (some @` A) x};
funoK : {in A, pcancel f oinv};
oinvK : {in B, ocancel oinv f};
}.
.
.
.
.
.
{ inv; funK : {in A, cancel f inv} }.
.
.
.
.
.
Inv _ _ f :=
{ funS : {homo f : / A x >-> B x};
invS : {homo f^-1 : / B x >-> A x};
funK : {in A, cancel f f^-1};
invK : {in B, cancel f^-1 f};
}.
.
.
.
.
.
.
{ inv; funS : {homo f : / A x >-> B x};
invS : {homo inv : / B x >-> A x};
funK : {in A, cancel f inv};
invK : {in B, cancel inv f};
}.
.
.
.
.
.
@SplitInjFun _ _ A B f :=
{ invS : {homo f^-1 : / B x >-> A x}; injV : {in B &, injective f^-1} }.
.
Let
Local Lemma
.
.
.
.
Local Lemma
.
(fun => y) (fun => y)
(in1W (projT2 exg).1) (in1W (projT2 exg).2).
.
Section surj_oinv.
Context { } { : set aT} { : set rT} { : aT -> rT} (
Let
if pselect (B y) is left By then some (projT1 (cid2 (fsurj By))) else None.
Lemma
Proof.
Lemma
Proof.
by case: cid2 => //= x Ax fxy; exists x.
Qed.
Coercion
phant_funK : forall [aT rT : Type] [A : set aT] [f : {splitinj A >-> rT}], phantom (aT -> rT) f -> {in A, cancel f f^-1} phant_funK is not universe polymorphic Expanded type for implicit arguments phant_funK : forall [aT rT : Type] [A : set aT] [f : {splitinj A >-> rT}], phantom (aT -> rT) f -> forall [x : aT], x \in A -> f^-1 (f x) = x Arguments phant_funK [aT rT]%_type_scope [A]%_classical_set_scope [f] _ [x] _ phant_funK is transparent Expands to: Constant mathcomp.classical.functions.phant_funK Declared in library mathcomp.classical.functions, line 504, characters 11-21 totalfun_ : forall {aT rT : Type}, set aT -> (aT -> rT) -> aT -> rT totalfun_ is not universe polymorphic Arguments totalfun_ {aT rT}%_type_scope A%_classical_set_scope f%_function_scope _ totalfun_ is transparent Expands to: Constant mathcomp.classical.functions.totalfun_ Declared in library mathcomp.classical.functions, line 738, characters 11-20
Source code
( : set_surj A B f) :=
OCanV.Build aT rT A B f (surjective_oinvS fS) (surjective_oinvK fS).
Section Psurj.
Context { } { : set aT} { : set rT} { : aT -> rT} (
Definition
surjective_ocanV : forall {aT rT : Type} {A : set aT} {B : set rT} {f : aT -> rT}, set_surj A B f -> OCanV.axioms_ aT rT A B f surjective_ocanV is not universe polymorphic Arguments surjective_ocanV {aT rT}%_type_scope {A B}%_classical_set_scope {f}%_function_scope fS surjective_ocanV is a coercion surjective_ocanV is transparent Expands to: Constant mathcomp.classical.functions.surjective_ocanV Declared in library mathcomp.classical.functions, line 902, characters 9-25
Source code
Lemma
- mathcomp.classical.cardinality
- mathcomp.analysis.cantor
Source code
End Psurj.
Coercion surjection_of_surj : set_surj >-> Surject.type.
Lemma
( : set_surj A B f) :
'oinv_fS y = if pselect (B y) is left By then some (projT1 (cid2 (fS y By))) else None.
Proof.
Lemma
- mathcomp.classical.cardinality
- mathcomp.analysis.cantor
- mathcomp.analysis.topology_theory.uniform_structure
Source code
Proof.
Definition
surjection_of_surj : forall {aT rT : Type} {A : set aT} {B : set rT} {f : aT -> rT}, set_surj A B f -> {surj A >-> B} surjection_of_surj is not universe polymorphic Arguments surjection_of_surj {aT rT}%_type_scope {A B}%_classical_set_scope {f}%_function_scope fsurj surjection_of_surj is a coercion surjection_of_surj is transparent Expands to: Constant mathcomp.classical.functions.surjection_of_surj Declared in library mathcomp.classical.functions, line 910, characters 11-29
Source code
& phantom (_ -> _) f := @surj _ _ _ _ f.
Notation
- mathcomp.classical.cardinality
Source code
#[global] Hint Extern 0 (set_surj _ _ _) => solve [apply: surj] : core.
Section funin_surj.
Context { : Type}.
Definition
phant_surj : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> set_surj A B f phant_surj is not universe polymorphic Expanded type for implicit arguments phant_surj : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {surj A >-> B}], phantom (aT -> rT) f -> forall [t : rT], B t -> exists2 x : aT, A x & f x = t Arguments phant_surj [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ [t] _ phant_surj is transparent Expands to: Constant mathcomp.classical.functions.phant_surj Declared in library mathcomp.classical.functions, line 924, characters 11-21
Source code
Context { : set aT} { : set rT} ( : aT -> rT).
Lemma
Proof.
.
.
((fun _ => id) : set_surj A (f @` A) f).
End funin_surj.
Notation
#[global] Hint Resolve set_fun_image : core.
Section split.
Context { } ( : set aT) ( : set rT).
Definition
funin : forall {aT rT : Type}, set aT -> (aT -> rT) -> aT -> rT funin is not universe polymorphic Arguments funin {aT rT}%_type_scope A%_classical_set_scope f%_function_scope _ funin is transparent Expands to: Constant mathcomp.classical.functions.funin Declared in library mathcomp.classical.functions, line 932, characters 11-16
Source code
Context (
Local Notation
- mathcomp.classical.cardinality
- mathcomp.analysis.measure_theory.measurable_structure
Source code
.
Section oinv.
Context ( : {oinv aT >-> rT}).
Let := odflt (dflt y) ('oinv_f y).
.
Lemma
Proof.
.
Lemma
.
.
Lemma
Lemma
.
.
.
End split.
Notation
Notation
- mathcomp.classical.cardinality
- mathcomp.analysis.measure_theory.measurable_structure
Source code
.
{ inj : {in A &, injective f} }.
.
.
Lemma
Proof.
.
.
@SurjFun _ _ A B f := { inj : {in A &, injective f} }.
.
@SurjFun_Inj _ _ A B f.
Let := f.
.
Let
Proof.
.
.
@SplitSurjFun _ _ A B f :=
{ inj : {in A &, injective f} }.
.
@SplitSurjFun_Inj _ _ A B f.
Local Lemma
.
.
Section Inverses.
Context { : set aT} { : set rT}.
.
SurjFun_Inj.Build _ _ _ _ [fun f in A] 'inj_f.
End Inverses.
Section Pinj.
Context { } { : set aT} { : aT -> rT} (
Lemma
- mathcomp.classical.cardinality
Source code
End Pinj.
Section Pfun.
Context { } { : set aT} { : set rT} { : aT -> rT}
(
Let : _ -> _ := f.
Lemma
- mathcomp.classical.cardinality
Source code
End Pfun.
Section injPfun.
Context { } { : set aT} { : set rT} { : {inj A >-> rT}}
(
Let : _ -> _ := f.
Lemma
- mathcomp.classical.cardinality
Source code
End injPfun.
Section funPinj.
Context { } { : set aT} { : set rT} { : {fun A >-> B}}
(
Let : _ -> _ := f.
Lemma
- mathcomp.classical.cardinality
Source code
End funPinj.
Section funPsurj.
Context { } { : set aT} { : set rT} { : {fun A >-> B}}
(
Let : _ -> _ := f.
Lemma
End funPsurj.
Section surjPfun.
Context { } { : set aT} { : set rT} { : {surj A >-> B}}
(
Let : _ -> _ := f.
Lemma
End surjPfun.
Section Psplitinj.
Context { } { : set aT} { : aT -> rT} {} (
Lemma
End Psplitinj.
Section funPsplitinj.
Context { } { : set aT} { : set rT} { : {fun A >-> B}}.
Context {} (
Let : _ -> _ := f.
Lemma
Proof.
Lemma
{ : {splitinj [set: aT] >-> rT} | f = i}.
Section funPsplitsurj.
Context { } { : set aT} { : set rT} { : {fun A >-> B}}.
Context { : {fun B >-> A}} (
Let : _ -> _ := f.
Lemma
Proof.
Lemma
{ : {splitsurjfun [set: aT] >-> [set: rT]} | f = s}.
.
(fun => y) (fun => y) (fun _ _ => erefl) (fun _ _ => erefl).
Context {} { : set aT}.
Local Lemma
Proof.
.
Section OInv.
Context { : {oinv aT >-> aT}}.
.
(iter n (obind 'oinv_f) \o some).
Lemma
Proof.
Section OInv.
Context { : {inv aT >-> aT}}.
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
.
.
.
End iter_inv.
Section iter_surj.
Context {} { : set aT}.
Lemma
Proof.
elim: n=> // n IH; rewrite oinv_iter iterfSr iterfS.
apply: (@ocan_in_comp _ _ _ (mem A)) => //; last exact: oinvK.
elim: n {IH} => // n IH x Ax; move: (IH _ Ax); rewrite pred_oapp_set ?inE.
case=> y Ay /= ynf; case: (@oinvS _ _ _ _ f _ Ay) => z ? zfinv; exists z => //.
by rewrite zfinv /= -ynf.
Qed.
.
.
.
.
Surject.on (iter n f).
.
.
End iter_surj.
Section Unbind.
Context { } { : set aT} { : set rT} (
Definition
split_ : forall {aT rT : Type}, (rT -> aT) -> (aT -> rT) -> aT -> rT split_ is not universe polymorphic Arguments split_ {aT rT}%_type_scope (dflt f)%_function_scope _ split_ is transparent Expands to: Constant mathcomp.classical.functions.split_ Declared in library mathcomp.classical.functions, line 953, characters 11-17
Source code
Lemma
.
Section Oinv.
Context ( : {oinv aT >-> option rT}).
.
Lemma
Proof.
.
Section Inv.
Context ( : {inv aT >-> option rT}).
Lemma
Proof.
Lemma
Proof.
.
Lemma
@OInv_Can _ _ A (unbind f).
Proof.
.
Inject.on (unbind f).
Lemma
@OInv_CanV _ _ A B (unbind f).
Proof.
by case: oinvP => [|a]; [exists b | exists a].
by case: oinvP => [|a Aa /= ->]; first by exists b.
Qed.
.
Surject.on (unbind f).
.
Surject.on (unbind f).
.
Surject.on (unbind f).
.
.
End Unbind.
Section Odflt.
Context {} { : set T} ( : T).
Lemma
Proof.
.
.
[the {splitbij some @` A >-> A} of @unbind (option T) T (fun=> x) idfun].
End Odflt.
Section SubType.
Context { : Type} { : pred T} ( : subType P) ( : sT).
.
Lemma
Proof.
Lemma
Proof.
.
.
(odflt x0 \o 'split_(fun=> val x0) insub).
Lemma
Proof.
End SubType.
Definition
unbind : forall {aT rT : Type}, (aT -> rT) -> (aT -> option rT) -> aT -> rT unbind is not universe polymorphic Arguments unbind {aT rT}%_type_scope (dflt f)%_function_scope x unbind is transparent Expands to: Constant mathcomp.classical.functions.unbind Declared in library mathcomp.classical.functions, line 1207, characters 11-17
Used by
- mathcomp.classical.cardinality
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code
@SigSub _ _ _ x (mem_set I : x \in setT).
.
((fun _ _ => erefl) : {in setT, cancel to_setT val}).
.
.
SplitInjFun_CanV.Build T _ _ _ to_setT (fun => I) inj.
Definition
to_setT : forall {T : Type}, T -> [set: T]%classic to_setT is not universe polymorphic Arguments to_setT {T}%_type_scope x to_setT is transparent Expands to: Constant mathcomp.classical.functions.to_setT Declared in library mathcomp.classical.functions, line 1301, characters 11-18
Source code
Lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Proof.
Section subfun.
Context {} { : set T}.
Definition
setTbij : forall {T : Type}, {splitbij [set: T] >-> [set: [set: T]%classic]} setTbij is not universe polymorphic Arguments setTbij {T}%_type_scope setTbij is transparent Expands to: Constant mathcomp.classical.functions.setTbij Declared in library mathcomp.classical.functions, line 1308, characters 11-18
Used by
- mathcomp.classical.cardinality
Source code
SigSub (mem_set (AB _ (set_valP a))).
Lemma
.
SurjFun.copy (subfun AB) [fun subfun AB in setT].
.
SurjFun_Inj.Build A B setT (subfun AB @` setT) (subfun AB) (in2W subfun_inj).
End subfun.
Section subfun_eq.
Context {} { : set T}.
Lemma
Lemma
olift (subfun (subsetCW AB)) = 'oinv_(subfun (subsetW AB)).
Proof.
OInv_Inv.Build A B (subfun (subsetW AB)) (subfun_inv_subproof AB).
End subfun_eq.
Section seteqfun.
Context { : Type}.
Definition
subfun : forall {T : Type} {A B : set T}, (A `<=` B)%classic -> A -> B subfun is not universe polymorphic Arguments subfun {T}%_type_scope {A B}%_classical_set_scope AB a subfun is transparent Expands to: Constant mathcomp.classical.functions.subfun Declared in library mathcomp.classical.functions, line 1317, characters 11-17
Source code
Context { : set T} ( : A = B).
.
Lemma
.
End seteqfun.
Section incl.
Context {} { : set T}.
Definition
seteqfun : forall {T : Type} {A B : set T}, A = B -> A -> B seteqfun is not universe polymorphic Arguments seteqfun {T}%_type_scope {A B}%_classical_set_scope AB a seteqfun is transparent Expands to: Constant mathcomp.classical.functions.seteqfun Declared in library mathcomp.classical.functions, line 1357, characters 11-19
Used by
- mathcomp.classical.cardinality
Source code
.
.
.
Inv_Can.Build _ _ A (incl AB) (fun _ _ => erefl).
Definition
incl : forall {T : Type} {A B : set T}, (A `<=` B)%classic -> T -> T incl is not universe polymorphic Arguments incl {T}%_type_scope {A B}%_classical_set_scope AB x incl is transparent Expands to: Constant mathcomp.classical.functions.incl Declared in library mathcomp.classical.functions, line 1372, characters 11-15
Used by
- mathcomp.analysis.topology_theory.function_spaces
Source code
.
Lemma
.
End incl.
Notation
- mathcomp.classical.cardinality
Source code
Section mkfun.
Context {} {} { : set aT} { : set rT}.
Notation
Definition
eqincl : forall {T : Type} {A B : set T}, A = B -> T -> T eqincl is not universe polymorphic Arguments eqincl {T}%_type_scope {A B}%_classical_set_scope AB x eqincl is transparent Expands to: Constant mathcomp.classical.functions.eqincl Declared in library mathcomp.classical.functions, line 1379, characters 11-17
Source code
.
Definition
mkfun : forall {aT rT : Type} {A : set aT} {B : set rT} [f : aT -> rT], {homo f : x / A x >-> B x} -> aT -> rT mkfun is not universe polymorphic Arguments mkfun {aT rT}%_type_scope {A B}%_classical_set_scope [f]%_function_scope fAB _ mkfun is transparent Expands to: Constant mathcomp.classical.functions.mkfun Declared in library mathcomp.classical.functions, line 1393, characters 11-16
Source code
.
.
SplitInj.on (@mkfun f fAB).
.
Surject.on (@mkfun f fAB).
.
SplitSurj.on (@mkfun f fAB).
End mkfun.
Section set_val.
Context {} { : set T}.
Definition
mkfun_fun : forall {aT rT : Type} {A : set aT} {B : set rT} [f : aT -> rT], {homo f : x / A x >-> B x} -> {fun A >-> B} mkfun_fun is not universe polymorphic Arguments mkfun_fun {aT rT}%_type_scope {A B}%_classical_set_scope [f]%_function_scope fAB mkfun_fun is transparent Expands to: Constant mathcomp.classical.functions.mkfun_fun Declared in library mathcomp.classical.functions, line 1395, characters 11-20
Used by
- mathcomp.classical.cardinality
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code
.
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
Proof.
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Proof.
#[global]
Hint Extern 0 (is_true (set_val _ \in _)) => solve [apply: valP] : core.
.
(in1W unsquashK).
.
Definition
set_val : forall {T : Type} {A : set T}, A -> T set_val is not universe polymorphic Arguments set_val {T}%_type_scope {A}%_classical_set_scope _ set_val is transparent Expands to: Constant mathcomp.classical.functions.set_val Declared in library mathcomp.classical.functions, line 1409, characters 11-18
Source code
.
Inj.Build _ _ setT (@choice.pickle T) (in2W (pcan_inj choice.pickleK)).
.
isFun.Build _ _ setT setT (@choice.pickle T) (fun _ _ => I).
Lemma
Proof.
.
Inj.Build (@set0 T) P setT set0fun (in2W set0fun_inj).
.
isFun.Build _ _ setT setT (@set0fun P T) (fun _ _ => I).
.
Can2.Build 'I_m 'I_n setT setT (cast_ord eq_mn)
(fun _ _ => I) (fun _ _ => I)
(in1W (cast_ordK _)) (in1W (cast_ordKV _)).
.
Can2.Build T _ setT setT enum_rank (fun _ _ => I) (fun _ _ => I)
(in1W enum_rankK) (in1W enum_valK).
.
Can2.Build _ T setT setT enum_val (fun _ _ => I) (fun _ _ => I)
(in1W enum_valK) (in1W enum_rankK).
Definition
ssquash : forall {T : Type}, {splitsurj [set: T] >-> [set: $| T |]} ssquash is not universe polymorphic Arguments ssquash {T}%_type_scope ssquash is transparent Expands to: Constant mathcomp.classical.functions.ssquash Declared in library mathcomp.classical.functions, line 1423, characters 11-18
Used by
- mathcomp.classical.cardinality
Source code
exist (fun => x \in [set` X]) (val x) (mem_set (valP x)).
Definition
finset_val : forall {T : choiceType} {X : {fset T}}, X -> [set` X]%classic finset_val is not universe polymorphic Arguments finset_val {T X} x finset_val is transparent Expands to: Constant mathcomp.classical.functions.finset_val Declared in library mathcomp.classical.functions, line 1461, characters 11-21
Used by
- mathcomp.classical.cardinality
Source code
[` set_mem (valP x)]%fset.
Lemma
cancel (@finset_val T X) val_finset.
Proof.
Lemma
cancel (@val_finset T X) finset_val.
Proof.
.
Can2.Build X _ setT setT finset_val (fun _ _ => I) (fun _ _ => I)
(in1W finset_valK) (in1W val_finsetK).
.
Can2.Build _ X setT setT val_finset (fun _ _ => I) (fun _ _ => I)
(in1W val_finsetK) (in1W finset_valK).
.
(fun _ _ => I) (fun _ _ => I) (in1W ordIIK) (in1W IIordK).
.
Definition
val_finset : forall {T : choiceType} {X : {fset T}}, [set` X]%classic -> X val_finset is not universe polymorphic Arguments val_finset {T X} x val_finset is transparent Expands to: Constant mathcomp.classical.functions.val_finset Declared in library mathcomp.classical.functions, line 1463, characters 11-21
Used by
- mathcomp.classical.cardinality
Source code
& [disjoint X & Y] & [disjoint A & B] :=
fun ( : T -> T') ( : T) => if u \in X then f u else g u.
Section Glue12.
Context { } { : set T} { : set T'}.
Context { : [disjoint X & Y]} { : [disjoint A & B]}.
Local Notation := (glue XY AB).
Definition
glue : forall {T T' : Type} {X Y : set T} {A B : set T'}, [disjoint X & Y]%classic -> [disjoint A & B]%classic -> (T -> T') -> (T -> T') -> T -> T' glue is not universe polymorphic Arguments glue {T T'}%_type_scope {X Y A B}%_classical_set_scope _ _ (f g)%_function_scope u glue is transparent Expands to: Constant mathcomp.classical.functions.glue Declared in library mathcomp.classical.functions, line 1491, characters 11-15
Used by
- mathcomp.classical.cardinality
Source code
Proof.
Definition
glue1 : forall {T T' : Type} {X Y : set T} {A B : set T'} {XY : [disjoint X & Y]%classic} {AB : [disjoint A & B]%classic} (f g : T -> T'), {in X, glue XY AB f g =1 f} glue1 is not universe polymorphic Expanded type for implicit arguments glue1 : forall {T T' : Type} {X Y : set T} {A B : set T'} {XY : [disjoint X & Y]%classic} {AB : [disjoint A & B]%classic} (f g : T -> T') [x : T], x \in X -> glue XY AB f g x = f x Arguments glue1 {T T'}%_type_scope {X Y A B}%_classical_set_scope {XY AB} (f g)%_function_scope [x] _ glue1 is opaque Expands to: Constant mathcomp.classical.functions.glue1 Declared in library mathcomp.classical.functions, line 1500, characters 11-16
Source code
Proof.
Section Glue.
Context { } { : set T} { : set T'}.
Context { : [disjoint X & Y]} { : [disjoint A & B]}.
Local Notation := (glue XY AB).
Lemma
isFun T T' (X `|` Y) (A `|` B) (gl f g).
Proof.
.
OInv.Build _ _ (gl f g) (glue AB (eqbRL disj_set_some XY) 'oinv_f 'oinv_g).
.
OInversible.on (gl f g).
Lemma
'oinv_(gl f g) = glue AB (eqbRL disj_set_some XY) 'oinv_f 'oinv_g.
Proof.
Lemma
some \o (glue AB XY f^-1 g^-1) = 'oinv_(gl f g).
.
OInv_Inv.Build T T' (gl f g) (some_inv_glue_subproof f g).
.
Inversible.on (gl f g).
Lemma
(gl f g)^-1 = glue AB XY f^-1 g^-1.
Proof.
Lemma
OInv_Can _ _ (X `|` Y) (gl f g).
Proof.
.
(g : {splitinjfun Y >-> B}) := Inject.on (gl f g).
Lemma
OInv_CanV _ _ (X `|` Y) (A `|` B) (gl f g).
Proof.
- by move=> [] zP /=; [rewrite glue1|rewrite glue2]; rewrite ?inE//;
case: oinvP=> // x xX _; exists x => //; [left|right].
- by rewrite glue1 ?inE//; case: oinvP=> //= x xX _; rewrite glue1 ?inE.
- by rewrite glue2 ?inE//; case: oinvP=> //= x xX _; rewrite glue2 ?inE.
Qed.
.
Surject.on (gl f g).
.
Surject.on (gl f g).
.
Surject.on (gl f g).
.
Surject.on (gl f g).
.
Surject.on (gl f g).
End Glue.
Section addition.
Context { : zmodType} ( : V).
.
Lemma
Proof.
Lemma
.
End addition.
Section addition.
Context { : zmodType} ( : V).
Local Open Scope ring_scope.
.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
Proof.
Lemma
.
End addition.
Section empty.
Context { : emptyType} { : Type} { : set T}.
Implicit Type Y : set T'.
.
Lemma
.
Lemma
Proof.
Lemma
Proof.
End empty.
Section surj_lemmas.
Variables : Type.
Implicit Types (A : set aT) (B : set rT) (f : aT -> rT).
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Proof.
Lemma
- mathcomp.classical.cardinality
- mathcomp.analysis.measure_theory.measurable_structure
Source code
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.realfun
Source code
{in B, cancel g f} -> g @` B `<=` A ->
set_surj A B f.
Proof.
by have := image_subP.1 gBA y; apply.
Qed.
Lemma
set_surj A B f -> {in A, g \o f =1 g' \o f} -> {in B, g =1 g'}.
Proof.
Lemma
forall ( : rT -> sT), {in A, g \o f =1 g' \o f} -> {in B, g =1 g'}.
Proof.
End surj_lemmas.
Arguments can_surj {aT rT} g [f A B].
Arguments surj_epi {aT rT sT} A {B} f {g}.
Lemma
set_surj A B f -> set_surj B C g -> set_surj A C (g \o f).
Lemma
- mathcomp.classical.set_interval
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
- mathcomp.analysis.measure_theory.measure_extension
- mathcomp.analysis.measure_theory.measure_function
Source code
Proof.
Lemma
( : {surj A >-> B}) { : set rT} :
C `<=` B -> 'oinv_f @` C `<=` some @` (f @^-1` C).
Proof.
by exists a => //; rewrite fay.
Qed.
Lemma
C `<=` f @` A -> some @` (A `&` f @^-1` C) `<=` 'oinv_f @` C.
Arguments oinv_Iimage_sub {aT rT A} f {C} _.
Lemma
{ : set rT} ( : C `<=` B) : 'oinv_f @` C = some @` (A `&` f @^-1` C).
Proof.
rewrite some_setI subsetI; split; last by apply: oinv_image_sub.
by apply: (subset_trans (image_subset CB)); rewrite image_eq.
Qed.
Lemma
{ : set rT} ( : C `<=` B) : some @` (f @^-1` C) = 'oinv_f @` C.
Proof.
Lemma
( : {splitsurj A >-> B}) { : set rT} :
C `<=` B -> f^-1 @` C `<=` f @^-1` C.
Arguments inv_image_sub {aT rT A B} f {C} _.
Lemma
C `<=` f @` A -> A `&` f @^-1` C `<=` f^-1 @` C.
Arguments inv_Iimage_sub {aT rT A} f {C} _.
Lemma
- mathcomp.classical.cardinality
Source code
{ : set rT} ( : C `<=` B) :
f^-1 @` C = A `&` f @^-1` C.
Proof.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
{ : set rT} ( : C `<=` B) : f @^-1` C = f^-1 @` C.
Proof.
Lemma
- mathcomp.analysis.measure_theory.measurable_structure
- mathcomp.analysis.normedtype_theory.normed_module
Source code
( : I -> set rT) : set_fun P Q f -> set_surj P Q f ->
\bigcup_( in Q) F x = \bigcup_( in P) F (f x).
Proof.
Lemma
( : I -> set rT) : set_fun P Q f -> set_surj P Q f ->
\bigcap_( in Q) F x = \bigcap_( in P) F (f x).
Proof.
Lemma
J ->
\bigcap_( in D) \bigcup_( in E) F i j =
\bigcup_( in set_fun D E) \bigcap_( in D) F i (f i).
Proof.
Lemma
- mathcomp.analysis.measure_theory.measure_function
Source code
(forall , D i -> F i !=set0) -> trivIset D F -> set_inj D F.
Proof.
Section set_bij_lemmas.
Context { : Type} { : set aT} { : set rT} { : aT -> rT}.
Definition
glue2 : forall {T T' : Type} {X Y : set T} {A B : set T'} {XY : [disjoint X & Y]%classic} {AB : [disjoint A & B]%classic} (f g : T -> T'), {in Y, glue XY AB f g =1 g} glue2 is not universe polymorphic Expanded type for implicit arguments glue2 : forall {T T' : Type} {X Y : set T} {A B : set T'} {XY : [disjoint X & Y]%classic} {AB : [disjoint A & B]%classic} (f g : T -> T') [x : T], x \in Y -> glue XY AB f g x = g x Arguments glue2 {T T'}%_type_scope {X Y A B}%_classical_set_scope {XY AB} (f g)%_function_scope [x] _ glue2 is opaque Expands to: Constant mathcomp.classical.functions.glue2 Declared in library mathcomp.classical.functions, line 1503, characters 11-16
Source code
Context (
Local Notation := (fun_set_bij fbij).
Lemma
- mathcomp.analysis.borel_hierarchy
- mathcomp.analysis.probability_theory.random_variable
Source code
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
Source code
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
Source code
Proof.
.
.
.
End set_bij_lemmas.
Coercion fun_set_bij : set_bij >-> Funclass.
Coercion
fun_set_bij : forall {aT rT : Type} {A : set aT} {B : set rT} {f : aT -> rT}, set_bij A B f -> aT -> rT fun_set_bij is not universe polymorphic Arguments fun_set_bij {aT rT}%_type_scope {A B}%_classical_set_scope {f}%_function_scope _ _ fun_set_bij is a coercion fun_set_bij is transparent Expands to: Constant mathcomp.classical.functions.fun_set_bij Declared in library mathcomp.classical.functions, line 1789, characters 11-22
Source code
( : set_bij A B f) := Bij.on (fun_set_bij fS).
Section Pbij.
Context { } { : set aT} { : set rT} { : aT -> rT} (
Definition
set_bij_bijfun : forall [aT rT : Type] [A : set aT] [B : set rT] [f : aT -> rT] (fS : set_bij A B f), Bij.axioms_ A B fS set_bij_bijfun is not universe polymorphic Arguments set_bij_bijfun [aT rT]%_type_scope [A B]%_classical_set_scope [f]%_function_scope fS set_bij_bijfun is a coercion set_bij_bijfun is transparent Expands to: Constant mathcomp.classical.functions.set_bij_bijfun Declared in library mathcomp.classical.functions, line 1808, characters 9-23
Source code
Lemma
- mathcomp.classical.set_interval
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
Source code
End Pbij.
Coercion bij_of_set_bijection : set_bij >-> Bij.type.
Lemma
Proof.
bij_of_set_bijection : forall {aT rT : Type} {A : set aT} {B : set rT} {f : aT -> rT}, set_bij A B f -> {bij A >-> B} bij_of_set_bijection is not universe polymorphic Arguments bij_of_set_bijection {aT rT}%_type_scope {A B}%_classical_set_scope {f}%_function_scope fbij bij_of_set_bijection is a coercion bij_of_set_bijection is transparent Expands to: Constant mathcomp.classical.functions.bij_of_set_bijection Declared in library mathcomp.classical.functions, line 1814, characters 11-31
Source code
phantom (_ -> _) f := @bij _ _ _ _ f.
Notation
- mathcomp.classical.cardinality
Source code
#[global] Hint Extern 0 (set_bij _ _ _) => solve [apply: bij] : core.
Section PbijTT.
Context { } { : aT -> rT} (
Definition
phant_bij : forall [aT rT : Type] [A : set aT] [B : set rT] [f : {bij A >-> B}], phantom (aT -> rT) f -> set_bij A B f phant_bij is not universe polymorphic Arguments phant_bij [aT rT]%_type_scope [A B]%_classical_set_scope [f] _ phant_bij is transparent Expands to: Constant mathcomp.classical.functions.phant_bij Declared in library mathcomp.classical.functions, line 1821, characters 11-20
Used by
- mathcomp.classical.cardinality
Source code
Lemma
- mathcomp.classical.cardinality
Source code
End PbijTT.
Lemma
- mathcomp.classical.fsbigop
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.cantor
- mathcomp.analysis.kernel
- mathcomp.analysis.normedtype_theory.normed_module
Source code
set_bij [set: aT] [set: rT] f = bijective f.
Proof.
Lemma
- mathcomp.analysis.kernel
Source code
Proof.
bijection_of_bijective : forall {aT rT : Type} {f : aT -> rT}, bijective f -> {splitbij [set: aT] >-> [set: rT]} bijection_of_bijective is not universe polymorphic Arguments bijection_of_bijective {aT rT}%_type_scope {f}%_function_scope fbijTT bijection_of_bijective is transparent Expands to: Constant mathcomp.classical.functions.bijection_of_bijective Declared in library mathcomp.classical.functions, line 1829, characters 11-33
Source code
& phantom (_ -> _) f := @bijTT _ _ f.
Notation
#[global] Hint Extern 0 (bijective _) => solve [apply: bijTT] : core.
Section patch.
Context { : Type} ( : aT -> rT) ( : set aT).
Definition
phant_bijTT : forall [aT rT : Type] [f : {bij [set: aT] >-> [set: rT]}], phantom (aT -> rT) f -> bijective f phant_bijTT is not universe polymorphic Arguments phant_bijTT [aT rT]%_type_scope [f] _ phant_bijTT is transparent Expands to: Constant mathcomp.classical.functions.phant_bijTT Declared in library mathcomp.classical.functions, line 1845, characters 11-22
Used by
- mathcomp.classical.fsbigop
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_monotone_convergence
- mathcomp.analysis.lebesgue_integral_theory.simple_functions
- mathcomp.analysis.lebesgue_integral_theory.measurable_fun_approximation
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.numfun
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.measure_theory.measure_function
Source code
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measure_theory.measure_function
Source code
Proof.
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code
Lemma
- mathcomp.analysis.measure_theory.measure_function
Source code
Proof.
.
SurjFun.copy (patch f) [fun patch f in A].
Section inj.
Context ( : {inj A >-> rT}).
Let := patch f.
Lemma
.
.
End inj.
End patch.
Notation
- mathcomp.analysis.ereal
- mathcomp.analysis.lebesgue_integral_theory.radon_nikodym
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integrable
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_dominated_convergence
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.numfun
- mathcomp.analysis.topology_theory.function_spaces
Source code
Notation
Lemma
- mathcomp.analysis.ereal
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_fubini
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.lebesgue_integral_theory.measurable_fun_approximation
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.numfun
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.probability_theory.uniform_distribution
- mathcomp.analysis.probability_theory.beta_distribution
- mathcomp.analysis.probability_theory.exponential_distribution
- mathcomp.analysis.kernel
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.normed_module
Source code
(f \_ B) x = if x \in B then f x else point.
Proof.
Lemma
- mathcomp.analysis.measure_theory.measure_function
Source code
patch d D f = fun => if D i then f i else d i.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measure_theory.measurable_function
Source code
( : aT -> rT) ( : set aT) ( : set rT) :
(f \_ D) @^-1` B = (if point \in B then ~` D else set0) `|` D `&` f @^-1` B.
Proof.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
Source code
h \o patch g D f = patch (h \o g) D (h \o f).
Lemma
- mathcomp.classical.fsbigop
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
- mathcomp.analysis.ftc
Source code
patch g (D `&` D') f = patch g D (patch g D' f).
Lemma
- mathcomp.analysis.numfun
Source code
patch g set0 f = g.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
Source code
patch g setT f = f.
Lemma
h point = point -> (h \o f) \_ D = h \o (f \_ D).
Arguments restrict_comp {aT rT sT} h f D.
Lemma
- mathcomp.analysis.measure_theory.measure_function
Source code
trivIset D' (F \_ D) = trivIset (D `&` D') F.
Proof.
Section RestrictionLeft.
Context { : Type} ( : V) { : set U} { : set V}.
Local Notation
- mathcomp.analysis.ereal
- mathcomp.analysis.lebesgue_integral_theory.radon_nikodym
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integrable
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_dominated_convergence
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.numfun
- mathcomp.analysis.topology_theory.function_spaces
Source code
Definition
patch : forall {aT rT : Type}, (aT -> rT) -> set aT -> (aT -> rT) -> aT -> rT patch is not universe polymorphic Arguments patch {aT rT}%_type_scope d%_function_scope A%_classical_set_scope f%_function_scope u patch is transparent Expands to: Constant mathcomp.classical.functions.patch Declared in library mathcomp.classical.functions, line 1856, characters 11-16
Used by
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.topology_theory.function_spaces
Source code
Lemma
Proof.
Definition
sigL : forall {U V : Type} (A : set U), (U -> V) -> A -> V sigL is not universe polymorphic Arguments sigL {U V}%_type_scope A%_classical_set_scope f%_function_scope u / (where some original arguments have been renamed) The reduction tactics unfold sigL when applied to 5 arguments sigL is transparent Expands to: Constant mathcomp.classical.functions.sigL Declared in library mathcomp.classical.functions, line 1943, characters 11-15
Source code
Definition
sigLfun : forall {U V : Type} {A : set U} {B : set V}, {fun A >-> B} -> {fun [set: A] >-> B} sigLfun is not universe polymorphic Arguments sigLfun {U V}%_type_scope {A B}%_classical_set_scope f sigLfun is transparent Expands to: Constant mathcomp.classical.functions.sigLfun Declared in library mathcomp.classical.functions, line 1949, characters 11-18
Used by
- mathcomp.analysis.topology_theory.subtype_topology
Source code
Lemma
isFun _ _ A B (valL_ (f : _ -> _)).
Proof.
Definition
valL_ : forall {U V : Type}, V -> forall {A : set U}, (A -> V) -> U -> V valL_ is not universe polymorphic Arguments valL_ {U V}%_type_scope v {A}%_classical_set_scope f%_function_scope u / (where some original arguments have been renamed) The reduction tactics unfold valL_ when applied to 6 arguments valL_ is transparent Expands to: Constant mathcomp.classical.functions.valL_ Declared in library mathcomp.classical.functions, line 1950, characters 11-16
Source code
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
sigL f (SigSub xA) = f x.
Proof.
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
{in A, f =1 g} <-> sigL f = sigL g.
Proof.
Lemma
{in A, f =1 g} <-> sigLfun f = sigLfun g.
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
Proof.
Lemma
- mathcomp.analysis.topology_theory.subtype_topology
Source code
Proof.
Lemma
Lemma
Lemma
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
Lemma
- mathcomp.analysis.topology_theory.function_spaces
Source code
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
Source code
End RestrictionLeft.
Arguments sigL {U V} A f u /.
Arguments sigLE {U V} A f x.
Arguments valL_ {U V} v {A} f u /.
Notation
Notation
Notation
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.topology_theory.function_spaces
Source code
Section RestrictionRight.
Context { : Type} { : set V}.
Definition
valLfun_ : forall {U V : Type}, V -> forall {A : set U} {B : set V}, {fun [set: A] >-> B} -> {fun A >-> B} valLfun_ is not universe polymorphic Arguments valLfun_ {U V}%_type_scope v {A B}%_classical_set_scope f valLfun_ is transparent Expands to: Constant mathcomp.classical.functions.valLfun_ Declared in library mathcomp.classical.functions, line 1956, characters 11-19
Source code
SigSub (mem_set ('funS_f I) : f u \in A).
.
Definition
sigR : forall {U V : Type} {A : set V}, {fun [set: U] >-> A} -> U -> A sigR is not universe polymorphic Arguments sigR {U V}%_type_scope {A}%_classical_set_scope f u / The reduction tactics unfold sigR when applied to 5 arguments sigR is transparent Expands to: Constant mathcomp.classical.functions.sigR Declared in library mathcomp.classical.functions, line 2021, characters 11-15
Source code
.
Definition
valR : forall {U V : Type} {A : set V}, (U -> A) -> U -> V valR is not universe polymorphic Arguments valR {U V}%_type_scope {A}%_classical_set_scope f%_function_scope x valR is transparent Expands to: Constant mathcomp.classical.functions.valR Declared in library mathcomp.classical.functions, line 2025, characters 11-15
Source code
Lemma
Proof.
Lemma
Lemma
Proof.
Lemma
End RestrictionRight.
Arguments sigR {U V A} f u /.
Section RestrictionLeftInv.
Context { : Type} ( : V) { : set U} { : set V}.
Local Notation := (sigL A).
Local Notation := sigR.
Local Notation := 'valL_v.
Local Notation := valR.
.
@OInv.Build _ _ (rl f) (obind insub \o 'oinv_f).
.
Lemma
Proof.
Lemma
.
.
Lemma
Proof.
.
.
.
@OInv.Build _ _ (rr f) (rl 'oinv_f).
Lemma
'oinv_(rr f) = (rl 'oinv_f).
Proof.
Lemma
@OInv_Can _ _ setT (rr f).
.
Lemma
@OInv_CanV _ _ setT setT (rr f).
Proof.
Lemma
olift (rl f^-1) = 'oinv_(rr f).
Proof.
.
@OInv_Inv.Build _ _ (rr f) (rl f^-1) (sigR_some_inv f).
Lemma
Proof.
.
.
.
Lemma
olift (rr [fun of f^-1]) = 'oinv_(rl f).
Proof.
OInv_Inv.Build _ _ (rl f) (sigL_some_inv f).
Lemma
(rl f)^-1 = (rr [fun of f^-1]).
Proof.
.
@OInv.Build _ _ (el f) (omap set_val \o 'oinv_f).
.
Lemma
'oinv_(el f) = omap set_val \o 'oinv_f.
Proof.
Lemma
oapp (g \o f) (g x) y = g (oapp f x y).
Proof.
Lemma
Proof.
.
Lemma
Proof.
.
.
Lemma
Proof.
OInv_Inv.Build _ _ (el f) (valL_some_inv f).
.
Lemma
Proof.
.
.
.
.
.
Lemma
injective (rl f) <-> {in A &, injective f}.
Proof.
Lemma
set_surj [set: A] B (rl f) <-> set_surj A B f.
Proof.
Lemma
set_fun [set: A] B (rl f) <-> set_fun A B f.
Lemma
set_bij [set: A] B (rl f) <-> set_bij A B f.
Proof.
by split; [exact/sigL_funP|exact/sigL_injP|exact/sigL_surjP].
Qed.
Lemma
Lemma
set_surj A B (el f) <-> set_surj setT B f.
Proof.
Lemma
set_fun A B (el f) <-> set_fun setT B f.
Lemma
set_bij A B (el f) <-> set_bij setT B f.
End RestrictionLeftInv.
Section ExtentionLeftInv.
Context { : Type} { : set U} { : set V}.
Local Notation := 'valL_None.
Local Notation := valR.
.
@OInv.Build _ _ (er f) (el 'oinv_f).
Lemma
Proof.
Lemma
@OInv_Can _ _ setT (er f).
.
Lemma
@OInv_CanV _ _ setT A (er f).
Proof.
.
End ExtentionLeftInv.
Section Restrictions2.
Context { : Type} ( : V) { : set U} { : set V}.
Local Notation
- mathcomp.analysis.topology_theory.subtype_topology
- mathcomp.analysis.topology_theory.function_spaces
Source code
Local Notation
Definition
valR_fun : forall {U V : Type} {A : set V}, (U -> A) -> {fun [set: U] >-> A} valR_fun is not universe polymorphic Arguments valR_fun {U V}%_type_scope {A}%_classical_set_scope f%_function_scope valR_fun is transparent Expands to: Constant mathcomp.classical.functions.valR_fun Declared in library mathcomp.classical.functions, line 2028, characters 11-19
Used by
- mathcomp.classical.cardinality
Source code
.
Fun.copy (sigLR f) (totalfun _).
Definition
sigLR : forall {U V : Type} {A : set U} {B : set V}, {fun A >-> B} -> A -> B sigLR is not universe polymorphic Arguments sigLR {U V}%_type_scope {A B}%_classical_set_scope x u sigLR is transparent Expands to: Constant mathcomp.classical.functions.sigLR Declared in library mathcomp.classical.functions, line 2255, characters 11-16
Used by
- mathcomp.classical.cardinality
Source code
Definition
valLR : forall {U V : Type}, V -> forall {A : set U} {B : set V}, (A -> B) -> U -> V valLR is not universe polymorphic Arguments valLR {U V}%_type_scope v {A B}%_classical_set_scope _%_function_scope _ valLR is transparent Expands to: Constant mathcomp.classical.functions.valLR Declared in library mathcomp.classical.functions, line 2260, characters 11-16
Source code
Lemma
Proof.
Proof.
Lemma
Lemma
Lemma
.
.
.
.
.
.
.
.
Lemma
injective (sigLR f) <-> {in A &, injective f}.
Proof.
Lemma
{in A &, injective (valLR f)} <-> injective f.
Proof.
Lemma
set_surj setT setT (sigLR f) <-> set_surj A B f.
Proof.
Lemma
set_surj A B (valLR f) <-> set_surj setT setT f.
Proof.
Lemma
set_bij A B f <->
exists (
bijective (sigLR [fun of mkfun fAB]).
Proof.
exists F; rewrite -setTT_bijective.
by split; [|apply: in2W; apply/sigLR_injP|apply/sigLR_surjP].
rewrite -setTT_bijective /set_bij.
set g := [fun of mkfun fAB] => -[_ /in2TT I S]; pose h : _ -> _ := g.
rewrite -[f]/h {}/h; move: g => g in I S *.
by split; [apply/image_subP|apply/sigLR_injP|apply/sigLR_surjP].
Qed.
Lemma
Proof.
Lemma
Proof.
End Restrictions2.
Section set_bij_basic_lemmas.
Context { : Type}.
Implicit Types (A : set aT) (B : set rT) (f : aT -> rT).
Lemma
Lemma
Lemma
Proof.
Lemma
set_bij (some @` A) (some @` B) (omap f) <-> set_bij A B f.
Proof.
Lemma
Proof.
End set_bij_basic_lemmas.
Lemma
( : {bij A >-> B}) : C `<=` A -> D `<=` B ->
set_bij D (some @` C) 'oinv_f <-> set_bij C D f.
Proof.
set_bij C D f -> set_bij D (some @` C) 'oinv_f; last first.
split=> bij_oinv; last exact: oinv_bij.
by apply/bij_omap; rewrite -oinvV; apply: oinv_bij => //; apply: image_subset.
move=> /Pbij[fC ffC]; suff /eq_set_bij-> : {in D, 'oinv_f =1 'oinv_fC} by [].
move=> x xD; apply: 'inj_(oapp f x); rewrite ?mem_fun//=.
- by apply/subsetP : x xD.
- by have := mem_set ((image_subset CA) _ ('oinvS_fC (set_mem xD))).
by rewrite oinvK ?ffC ?oinvK// ?(subsetP.2 _ _ xD).
Qed.
Lemma
- mathcomp.classical.set_interval
Source code
( : {splitbij A >-> B}) : C `<=` A -> D `<=` B ->
set_bij D C f^-1 <-> set_bij C D f.
Proof.
Section set_bij_lemmas.
Context { : Type}.
Implicit Types (A : set aT) (B : set rT) (f : aT -> rT).
Lemma
Proof.
Lemma
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
Source code
Lemma
set_bij C D f.
End set_bij_lemmas.
Section set_bij_lemmas.
Context { : Type}.
Implicit Types (A : set aT) (B : set rT) (f : aT -> rT).
Lemma
- mathcomp.classical.set_interval
Source code
set_bij C D f.
Proof.
Lemma
{homo f : / C x >-> D x} ->
{homo 'oinv_f : / D x >-> (some @` C) x} ->
set_bij C D f.
Proof.
Lemma
- mathcomp.classical.fsbigop
Source code
{homo f : / C x >-> D x} ->
{homo f^-1 : / D x >-> C x} ->
set_bij C D f.
Proof.
Lemma
{in A, cancel f g} -> {in B, cancel g f} -> set_bij A B f.
Proof.
Lemma
set_bij A (B `|` B') f -> set_bij (A `\` f @^-1` B') B f.
Proof.
Lemma
set_bij A (B `|` B') f -> set_bij (A `\` f @^-1` B) B' f.
Proof.
Lemma
set_bij (A `|` A') B f -> set_bij A (B `\` f @` A') f.
Proof.
apply: bij_sub => [|? []//||]; first exact: subsetUl.
move=> x Ax /=; split; first by apply: funS; left.
move=> [y] A'y /inj; rewrite !inE/= =>yx; apply: (AA' x).
by split=> //; rewrite -yx //; [right|left].
move=> z [Bz /= /not_exists2P /contrapT] A'fxz.
case: oinvP=> // x AA'x fxz; exists x => //.
by have := A'fxz x; rewrite fxz => -[|//]; case: AA'x.
Qed.
Lemma
set_bij (A `|` A') B f -> set_bij A' (B `\` f @` A) f.
Proof.
End set_bij_lemmas.
Lemma
- mathcomp.classical.cardinality
Source code
set_bij `I_n.+1 A f -> set_bij `I_n (A `\ f n) f.
Proof.
by apply/disj_setPS => i [/= /[swap]->]; rewrite ltnn.
Qed.
Lemma
set_bij A B f -> set_bij B C g -> set_bij A C (g \o f).
Section pointed_inverse.
Context { } (
Implicit Types (f : T -> U) (i : {inj A >-> U}).
Definition
valLRfun : forall {U V : Type}, V -> forall {A : set U} {B : set V}, (A -> B) -> {fun A >-> B} valLRfun is not universe polymorphic Arguments valLRfun {U V}%_type_scope v {A B}%_classical_set_scope _%_function_scope valLRfun is transparent Expands to: Constant mathcomp.classical.functions.valLRfun Declared in library mathcomp.classical.functions, line 2261, characters 11-19
Source code
Local Notation
- mathcomp.classical.cardinality
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.realfun
Source code
.
.
.
.
Lemma
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.realfun
Source code
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.borel_hierarchy
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.realfun
Source code
Lemma
set_surj (f @` A) A (pinv f).
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measure_theory.measurable_structure
Source code
pinv f @` (f @` A) = A.
Lemma
set_bij (f @` A) A (pinv f).
Lemma
Lemma
Proof.
Lemma
Lemma
set_bij B (g @` B) g.
Proof.
Lemma
Section pPbij.
Context {: set U} { : T -> U} (
Lemma
Proof.
Section pPinj.
Context { : T -> U} (
Lemma
End pPinj.
Section injpPfun.
Context { : set U} { : {inj A >-> U}} (
Let : _ -> _ := f.
Lemma
Proof.
Section funpPinj.
Context { : set U} { : {fun A >-> B}} (
Lemma
End funpPinj.
End pointed_inverse.
Notation
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.borel_hierarchy
- mathcomp.analysis.measure_theory.measurable_structure
Source code
Notation
- mathcomp.classical.cardinality
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.realfun
Source code
Notation
Notation
- mathcomp.classical.fsbigop
- mathcomp.classical.cardinality
- mathcomp.analysis.esum
Source code
Notation
Notation
Notation
Notation
Notation
Notation
Notation
Section function_space.
Local Open Scope ring_scope.
Import GRing.Theory.
Definition
cst : forall {T T' : Type}, T' -> T -> T' cst is not universe polymorphic Arguments cst {T T'}%_type_scope x _ cst is transparent Expands to: Constant mathcomp.classical.functions.cst Declared in library mathcomp.classical.functions, line 2574, characters 11-14
Used by
- mathcomp.experimental_reals.realsum
- mathcomp.classical.set_interval
- mathcomp.classical.cardinality
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.landau
- mathcomp.analysis.cantor
- mathcomp.analysis.esum
- mathcomp.analysis.sequences
- mathcomp.analysis.ereal
- mathcomp.analysis.lebesgue_integral_theory.radon_nikodym
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
- mathcomp.analysis.lebesgue_integral_theory.simple_functions
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integrable
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_dominated_convergence
- mathcomp.analysis.lebesgue_integral_theory.measurable_fun_approximation
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.numfun
- mathcomp.analysis.derive
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.probability_theory.beta_distribution
- mathcomp.analysis.topology_theory.topology_structure
- mathcomp.analysis.topology_theory.subspace_topology
- mathcomp.analysis.topology_theory.function_spaces
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.gauss_integral
- mathcomp.analysis.realfun
- mathcomp.analysis.kernel
- mathcomp.analysis.ftc
- mathcomp.analysis.measure_theory.measure_extension
- mathcomp.analysis.measure_theory.probability_measure
- mathcomp.analysis.measure_theory.dirac_measure
- mathcomp.analysis.measure_theory.measure_function
- mathcomp.analysis.measure_theory.measurable_structure
- mathcomp.analysis.measure_theory.measure_negligible
- mathcomp.analysis.measure_theory.signed_measure
- mathcomp.analysis.measure_theory.measurable_function
- mathcomp.analysis.measure_theory.counting_measure
- mathcomp.analysis.homotopy_theory.continuous_path
- mathcomp.analysis.hoelder
- mathcomp.analysis.ess_sup_inf
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
- mathcomp.analysis.measure_theory.measurable_function
Source code
@cst rT _ a @^-1` A = if a \in A then setT else set0.
Proof.
Obligation Tactic := idtac.
Section fct_nmodType.
Variables ( : Type) ( : nmodType).
Implicit Types f g h : T -> M.
Let
Let
Let
.
End fct_nmodType.
Section fct_zmodType.
Variables ( : Type) ( : zmodType).
Implicit Types f : T -> M.
Let
.
End fct_zmodType.
Section fct_pzRingType.
Variables ( : Type) ( : pzRingType).
Implicit Types f g h : T -> M.
Let
Let
Let
Let
Let
.
(fun => f \* g) mulrA mul1r mulr1 mulrDl mulrDr.
End fct_pzRingType.
Section fct_nzRingType.
Variables ( : pointedType) ( : nzRingType).
Let
.
End fct_nzRingType.
Section fct_comPzRingType.
Variables ( : Type) ( : comPzRingType).
Let
.
GRing.SemiRing_hasCommutativeMul.Build (T -> M) mulrC.
End fct_comPzRingType.
.
GRing.ComPzRing.on (T -> M).
Section fct_lmod.
Variables ( : Type) ( : pzRingType) ( : lmodType R).
Program Definition
fct_lmodMixin : forall (U : Type) [R : pzRingType] (V : lmodType R), GRing.Zmodule_isLmodule.axioms_ R (U -> V) (HB_unnamed_factory_5 (fun=> V)) (HB_unnamed_factory_2 (fun=> V)) (HB_unnamed_mixin_1506 U V) (HB_unnamed_mixin_1499 U V) (HB_unnamed_mixin_1498 U V) (HB_unnamed_mixin_1507 U V) (HB_unnamed_mixin_1501 U V) (HB_unnamed_mixin_1500 U V) (HB_unnamed_mixin_1502 U V) fct_lmodMixin is not universe polymorphic Arguments fct_lmodMixin U%_type_scope [R] V fct_lmodMixin is transparent Expands to: Constant mathcomp.classical.functions.fct_lmodMixin Declared in library mathcomp.classical.functions, line 2666, characters 19-32
Source code
(fun => k \*: f) _ _ _ _.
.
End fct_lmod.
Lemma
- mathcomp.analysis.numfun
- mathcomp.analysis.derive
Source code
\sum_( <- r | P i) f i = fun => \sum_( <- r | P i) f i x.
Lemma
( : I -> T -> M) :
\prod_( <- r | P i) f i = fun => \prod_( <- r | P i) f i x.
Lemma
- mathcomp.analysis.derive
Source code
r \*o f = r \o* f.
Lemma
- mathcomp.analysis.derive
Source code
(f \min g) = (f + g) - (f \max g).
Proof.
Lemma
(f \max g) = (f + g) - (f \min g).
Proof.
Lemma
- mathcomp.analysis.derive
Source code
f \max g = g \max f.
Proof.
Lemma
- mathcomp.analysis.derive
Source code
f \min g = g \min f.
Proof.
End function_space.
Section function_space_lemmas.
Local Open Scope ring_scope.
Import GRing.Theory.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
Source code
f + g = (fun => f x + g x).
Proof.
Lemma
\sum_( <- s) f = (fun => \sum_( <- s) f x).
Proof.
Lemma
\prod_( <- s) f = (fun => \prod_( <- s) f x).
Proof.
Lemma
f *+ n = (fun => f x *+ n).
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.derive
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Proof.
Lemma
- mathcomp.analysis.numfun
Source code
@interchange (U -> K) (fun => a - b) (fun => a + b).
Lemma
f * g = (fun => f x * g x).
Proof.
Lemma
( : T -> L) :
k *: f = (fun : T => k *: f x).
Proof.
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.derive
Source code
f ^+ n = (fun => f x ^+ n).
Lemma
- mathcomp.analysis.showcase.pnt
Source code
g \o f = fun => g (f x).
Proof.
Definition
fctE : (forall (T T' : Type) (x : T), cst x = fun=> x) * (forall (T1 T2 T3 : Type) (f : T1 -> T2) (g : T2 -> T3), g \o f = (fun x : T1 => g (f x))) * (forall (T : Type) (K : GRing.Zmodule.Exports.zmodType) (f : T -> K), (- f)%R = (fun x : T => (- f x)%R)) * (forall (T : Type) (K : GRing.Nmodule.Exports.nmodType) (f g : T -> K), (f + g)%R = (fun x : T => (f x + g x)%R)) * (forall (T : Type) (K : pzRingType) (f g : T -> K), (f * g)%R = (fun x : T => (f x * g x)%R)) * (forall (T : Type) (K : pzRingType) (L : lmodType K) (k : K) (f : T -> L), (k *: f)%R = (fun x : T => (k *: f x)%R)) * (forall (T : Type) (K : pzRingType) (f : T -> K) (n : nat), (f ^+ n)%R = (fun x : T => (f x ^+ n)%R)) * (forall (T : Type) (K : GRing.Nmodule.Exports.nmodType) (x : T), (0%R : T -> K) x = 0%R) * (forall (T : Type) (K : pzRingType) (x : T), (1%R : T -> K) x = 1%R) fctE is not universe polymorphic fctE is transparent Expands to: Constant mathcomp.classical.functions.fctE Declared in library mathcomp.classical.functions, line 2763, characters 11-15
Used by
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
- mathcomp.analysis.exp
- mathcomp.analysis.numfun
- mathcomp.analysis.derive
- mathcomp.analysis.probability_theory.independence
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.probability_theory.beta_distribution
- mathcomp.analysis.gauss_integral
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.elementary_functions.trigonometry_functions
Source code
(cstE, compE, opprfctE, addrfctE, mulrfctE, scalerfctE, exprfctE,
zerofctE, onefctE).
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_definition
Source code
(f \+ g) @^-1`[set z] =
\bigcup_( in range f) (f @^-1` [set a] `&` g @^-1` [set z - a]).
Proof.
End function_space_lemmas.
#[deprecated(since="mathcomp-analysis 1.17.0", use=scalerfctE)]
Notation
Lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Local Open Scope ring_scope.
Import GRing.Theory.
Section linfun_pred.
Context { : numDomainType} { : lmodType K} { : lmodType K}
{ : K -> F -> F}.
linfun : forall {K : numDomainType} {E F : lmodType K}, (K -> F -> F) -> {pred E -> F} linfun is not universe polymorphic Arguments linfun {K E F} {s}%_function_scope _ linfun is transparent Expands to: Constant mathcomp.classical.functions.linfun Declared in library mathcomp.classical.functions, line 2793, characters 11-17
Source code
Definition
linfun_key : forall {K : numDomainType} {E F : lmodType K} {s : K -> F -> F}, pred_key (T:=E -> F) linfun linfun_key is not universe polymorphic Arguments linfun_key {K E F} {s}%_function_scope linfun_key is opaque Expands to: Constant mathcomp.classical.functions.linfun_key Declared in library mathcomp.classical.functions, line 2795, characters 11-21
Source code
Proof.
Canonical
linfun_keyed : forall {K : numDomainType} {E F : lmodType K} {s : K -> F -> F}, keyed_pred linfun_key linfun_keyed is not universe polymorphic Arguments linfun_keyed {K E F} {s}%_function_scope linfun_keyed is transparent Expands to: Constant mathcomp.classical.functions.linfun_keyed Declared in library mathcomp.classical.functions, line 2797, characters 10-22
Source code
End linfun_pred.
Section linfun.
Context { : numDomainType} { : lmodType R}
{ : lmodType R} { : GRing.Scale.law R F}.
Notation := {linear E -> F | s}.
Notation
Section Sub.
Context ( : E -> F) ( : f \in linfun).
#[local] Definition
linfun_Sub_subproof not a defined object.
Source code
@GRing.isLinear.Build _ E F s f (set_mem fP).
Definition
linfun_Sub : forall {R : numDomainType} {E F : lmodType R} {s : GRing.Scale.law R F} [f : E -> F], f \in linfun -> {linear E -> F | s} linfun_Sub is not universe polymorphic Arguments linfun_Sub {R E F s} [f]%_function_scope fP linfun_Sub is transparent Expands to: Constant mathcomp.classical.functions.linfun_Sub Declared in library mathcomp.classical.functions, line 2816, characters 11-21
Source code
End Sub.
Let
(forall ( : f \in linfun), K (linfun_Sub Pf)) -> forall : T, K u.
Proof.
set G := (G in K G).
have Pf : f \in linfun by rewrite inE /= => // x u y; rewrite Pf2 Pf3.
suff -> : G = linfun_Sub Pf by apply: Ksub.
rewrite {}/G.
congr (GRing.Linear.Pack (GRing.Linear.Class _ _)).
- by congr GRing.isNmodMorphism.Axioms_; exact: Prop_irrelevance.
- by congr GRing.isScalable.Axioms_; exact: Prop_irrelevance.
Qed.
Let
Proof.
.
Lemma
.
Variant
|
Lemma
Proof.
have {2}-> : f = linfun_Sub f_lc by rewrite linfun_valP.
by constructor.
Qed.
End linfun.
Section linfun_lmodtype.
Context { : numDomainType} { : lmodType R}.
Import GRing.Theory.
Let
Proof.
.
.
[SubChoice_isSubLmodule of {linear E -> F } by <:].
End linfun_lmodtype.
.
isPointed.Build {linear E -> F} 0.