diff options
author | Josh Chen | 2021-04-17 17:41:56 +0100 |
---|---|---|
committer | Josh Chen | 2021-04-17 17:41:56 +0100 |
commit | 75ab44cc1d2ad63864ecb43215a56538748fc0d3 (patch) | |
tree | 58e3b532fd01502b4c2fa9bf237a3b0970b16e57 | |
parent | 54df7336797dfa07124652a9eb75aac978a1a359 (diff) | |
parent | 092875d160a2d18c94bde41c6472e8031ab57313 (diff) |
Merge branch 'dev'
-rw-r--r-- | hott/Bool_HoTT.thy | 8 | ||||
-rw-r--r-- | hott/Identity.thy | 2 | ||||
-rw-r--r-- | hott/Propositions.thy | 19 | ||||
-rw-r--r-- | mltt/core/MLTT.thy | 2 |
4 files changed, 29 insertions, 2 deletions
diff --git a/hott/Bool_HoTT.thy b/hott/Bool_HoTT.thy new file mode 100644 index 0000000..57a57b7 --- /dev/null +++ b/hott/Bool_HoTT.thy @@ -0,0 +1,8 @@ +theory Bool_HoTT +imports + MLTT.Prelude + Propositions + +begin + +end diff --git a/hott/Identity.thy b/hott/Identity.thy index 0531b74..9ae0894 100644 --- a/hott/Identity.thy +++ b/hott/Identity.thy @@ -244,7 +244,7 @@ Lemma (def) ap_funcomp: "p: x = y" shows "(g \<circ> f)[p] = g[f[p]]" apply (eq p) - \<^item> by compute + \<^item> by (subst comp; typechk?)+ \<^item> by compute refl done diff --git a/hott/Propositions.thy b/hott/Propositions.thy new file mode 100644 index 0000000..66e34d2 --- /dev/null +++ b/hott/Propositions.thy @@ -0,0 +1,19 @@ +theory Propositions +imports + MLTT.Prelude + Equivalence + +begin + +definition isProp where "isProp A \<equiv> \<Prod>x y: A. x =\<^bsub>A\<^esub> y" +definition isSet where "isSet A \<equiv> \<Prod>x y: A. \<Prod>p q: x =\<^bsub>A\<^esub> y. p =\<^bsub>x =\<^bsub>A\<^esub> y\<^esub> q" + +Theorem isProp_Top: "isProp \<top>" + unfolding isProp_def + by (intros, elims, refl) + +Theorem isProp_Bot: "isProp \<bottom>" + unfolding isProp_def + by (intros, elim) + +end diff --git a/mltt/core/MLTT.thy b/mltt/core/MLTT.thy index ea6462a..cd8ae42 100644 --- a/mltt/core/MLTT.thy +++ b/mltt/core/MLTT.thy @@ -443,7 +443,7 @@ Lemma funcomp_lambda_comp [comp]: Lemma funcomp_apply_comp [comp]: assumes - "A: U i" "B: U i" "\<And>x y. x: B \<Longrightarrow> C x: U i" + "A: U i" "B: U i" "\<And>x. x: B \<Longrightarrow> C x: U i" "f: A \<rightarrow> B" "g: \<Prod>x: B. C x" "x: A" shows "(g \<circ>\<^bsub>A\<^esub> f) x \<equiv> g (f x)" |