fix(library/hott) fill both gaps (I don't know why it works that way), change name from funext.apply to funext.ap, since apply seems to be a tactic name?
This commit is contained in:
parent
fd47a162de
commit
2d9621892b
3 changed files with 7 additions and 8 deletions
|
@ -14,7 +14,7 @@ set_option pp.universes true
|
||||||
|
|
||||||
-- Define function extensionality as a type class
|
-- Define function extensionality as a type class
|
||||||
inductive funext.{l} [class] : Type.{l+3} :=
|
inductive funext.{l} [class] : Type.{l+3} :=
|
||||||
mk : (Π {A : Type.{l+1}} {P : A → Type.{l+2}} (f g : Π x, P x), IsEquiv (@apD10 A P f g))
|
mk : (Π (A : Type.{l+1}) (P : A → Type.{l+2}) (f g : Π x, P x), IsEquiv (@apD10 A P f g))
|
||||||
→ funext.{l}
|
→ funext.{l}
|
||||||
|
|
||||||
namespace funext
|
namespace funext
|
||||||
|
@ -23,11 +23,11 @@ namespace funext
|
||||||
universe l
|
universe l
|
||||||
parameters [F : funext.{l}] {A : Type.{l+1}} {P : A → Type.{l+2}} (f g : Π x, P x)
|
parameters [F : funext.{l}] {A : Type.{l+1}} {P : A → Type.{l+2}} (f g : Π x, P x)
|
||||||
|
|
||||||
protected definition apply [instance] : IsEquiv (@apD10 A P f g) :=
|
protected definition ap [instance] : IsEquiv (@apD10 A P f g) :=
|
||||||
rec_on F (λ H, sorry)
|
rec_on F (λ (H : Π A P f g, _), !H)
|
||||||
|
|
||||||
definition path_forall : f ∼ g → f ≈ g :=
|
definition path_forall : f ∼ g → f ≈ g :=
|
||||||
@IsEquiv.inv _ _ (@apD10 A P f g) apply
|
@IsEquiv.inv _ _ (@apD10 A P f g) ap
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
import hott.path hott.equiv
|
import hott.path hott.equiv
|
||||||
open path Equiv
|
open path Equiv
|
||||||
|
|
||||||
set_option pp.universes true
|
|
||||||
--Ensure that the types compared are in the same universe
|
--Ensure that the types compared are in the same universe
|
||||||
section
|
section
|
||||||
universe variable l
|
universe variable l
|
||||||
|
@ -29,8 +28,8 @@ namespace ua_type
|
||||||
parameters [F : ua_type.{k}] {A B: Type.{k}}
|
parameters [F : ua_type.{k}] {A B: Type.{k}}
|
||||||
|
|
||||||
-- Make the Equivalence given by the axiom an instance
|
-- Make the Equivalence given by the axiom an instance
|
||||||
protected definition inst [instance] : IsEquiv (equiv_path A B) :=
|
protected definition inst [instance] : IsEquiv (equiv_path.{k} A B) :=
|
||||||
rec_on F (λ H, sorry)
|
rec_on F (λ H, H A B)
|
||||||
|
|
||||||
-- This is the version of univalence axiom we will probably use most often
|
-- This is the version of univalence axiom we will probably use most often
|
||||||
definition ua : A ≃ B → A ≈ B :=
|
definition ua : A ≃ B → A ≈ B :=
|
||||||
|
|
|
@ -28,7 +28,7 @@ definition weak_funext.{l} :=
|
||||||
definition funext_implies_naive_funext [F : funext] : naive_funext :=
|
definition funext_implies_naive_funext [F : funext] : naive_funext :=
|
||||||
(λ A P f g h,
|
(λ A P f g h,
|
||||||
have Fefg: IsEquiv (@apD10 A P f g),
|
have Fefg: IsEquiv (@apD10 A P f g),
|
||||||
from (@funext.apply F A P f g),
|
from (@funext.ap F A P f g),
|
||||||
have eq1 : _, from (@IsEquiv.inv _ _ (@apD10 A P f g) Fefg h),
|
have eq1 : _, from (@IsEquiv.inv _ _ (@apD10 A P f g) Fefg h),
|
||||||
eq1
|
eq1
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue