This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import HoTT.HoTT. | |
Require Import HoTT.hit.minus1Trunc. | |
Generalizable All Variables. | |
Set Implicit Arguments. | |
Local Notation "|| T ||" := (minus1Trunc T). | |
(*Local Notation "| x |" := (min1 x).*) | |
Fixpoint Fin (n : nat) : Type := |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import HoTT.HoTT. | |
Require Import HoTT.hit.minus1Trunc HoTT.hit.Truncations. | |
Generalizable All Variables. | |
Set Implicit Arguments. | |
Class IsHomogenous X (x : X) := is_homogenous : forall y, existT idmap X y = existT idmap X x. | |
Lemma path_forall_type `{Funext, Univalence} X (Y Y' : X -> Type) | |
: Y == Y' -> (forall x, Y x) = (forall x, Y' x). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* Coq's build in tactics don't work so well with things like [iff] | |
so split them up into multiple hypotheses *) | |
Ltac split_in_context ident funl funr := | |
repeat match goal with | |
| [ H : context p [ident] |- _ ] => | |
let H0 := context p[funl] in let H0' := eval simpl in H0 in assert H0' by (apply H); | |
let H1 := context p[funr] in let H1' := eval simpl in H1 in assert H1' by (apply H); | |
clear H | |
end. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* Coq's build in tactics don't work so well with things like [iff] | |
so split them up into multiple hypotheses *) | |
Ltac split_in_context ident funl funr := | |
repeat match goal with | |
| [ H : context p [ident] |- _ ] => | |
let H0 := context p[funl] in let H0' := eval simpl in H0 in assert H0' by (apply H); | |
let H1 := context p[funr] in let H1' := eval simpl in H1 in assert H1' by (apply H); | |
clear H | |
end. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(* File reduced by coq-bug-finder from 7411 lines to 2271 lines. *) | |
Generalizable All Variables. | |
Definition relation (A : Type) := A -> A -> Type. | |
Class Reflexive {A} (R : relation A) := reflexivity : forall x : A, R x x. | |
Class Symmetric {A} (R : relation A) := symmetry : forall x y, R x y -> R y x. | |
Class Transitive {A} (R : relation A) := transitivity : forall x y z, R x y -> R y z -> R x z. | |
Notation "( x ; y )" := (existT _ x y) : fibration_scope. | |
Open Scope fibration_scope. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Overture types.Universe hit.minus1Trunc Contractible types.Sigma Equivalences. | |
Set Implicit Arguments. | |
Local Open Scope path_scope. | |
Section invert. | |
Context `{Univalence}. | |
Definition pathto (T : Type) (x : T) := { y : T & x = y }. | |
Local Instance trunc_pathto T x : Contr (@pathto T x) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Overture types.Universe hit.minus1Trunc Equivalences types.Bool types.Sigma. | |
Set Implicit Arguments. | |
Local Open Scope path_scope. | |
Definition negb (b : Bool) : Bool | |
:= if b then false else true. | |
Instance isequiv_negb : IsEquiv negb. | |
Proof. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Overture hit.Interval hit.minus1Trunc types.Bool types.Universe Tactics types.Sigma Equivalences PathGroupoids types.Forall. | |
Set Implicit Arguments. | |
Local Open Scope equiv_scope. | |
Local Open Scope path. | |
Definition Q `{Univalence} : interval -> Type | |
:= interval_rectnd | |
Type Bool Bool | |
(path_universe negb). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Overture types.Bool types.Unit. | |
Set Implicit Arguments. | |
Inductive W A (B : A -> Type) := | |
sup : forall a, (B a -> W B) -> W B. | |
Definition WNat := @W Bool (fun b => if b then Empty else Unit). | |
Definition WNat0 : WNat := sup true (fun x => match x : Empty with end). | |
Definition WNatS : WNat -> WNat := fun n => sup false (fun x => n). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Definition lift_eq_down {A B : Type} (p : @paths Type A B) : @paths Type (A : Type) (B : Type) | |
:= match p in (@paths _ _ B) return (@paths Type (A : Type) B) with | |
| idpath => idpath | |
end. | |
Set Printing All. | |
Check @lift_eq_down. | |
(* | |
lift_eq_down (* Top.1226 Top.1227 Top.1229 Top.1229 Top.1230 Top.1231 |
OlderNewer