aboutsummaryrefslogtreecommitdiff
path: root/EqualProps.thy
diff options
context:
space:
mode:
authorJosh Chen2018-09-11 15:40:37 +0200
committerJosh Chen2018-09-11 15:40:37 +0200
commitcd7609be19289fefe5404fce6a3fed4957ae7157 (patch)
tree90dc109eba3902692f2f170f02a0ab066286027c /EqualProps.thy
parent637ee546f3eb9a927d83bd19ae0bee09031bd7d5 (diff)
Running into trouble with the polymorphic identity function
Diffstat (limited to '')
-rw-r--r--EqualProps.thy15
1 files changed, 15 insertions, 0 deletions
diff --git a/EqualProps.thy b/EqualProps.thy
index f00020f..0107e8e 100644
--- a/EqualProps.thy
+++ b/EqualProps.thy
@@ -275,7 +275,22 @@ sorry
section \<open>Transport\<close>
+definition transport :: "Term \<Rightarrow> Term" where
+ "transport p \<equiv> ind\<^sub>= (\<lambda>x. (\<^bold>\<lambda>x. x)) p"
+lemma transport_type:
+ assumes
+ "A: U i" "P: A \<longrightarrow> U i"
+ "x: A" "y: A"
+ "p: x =\<^sub>A y"
+ shows "transport p: P x \<rightarrow> P y"
+unfolding transport_def
+by (rule Equal_elim[where ?p=p and ?x=x and ?y=y]) (routine lems: assms)
+
+lemma transport_comp:
+ assumes "A: U i" and "x: A"
+ shows "transport (refl x) \<equiv> id"
+unfolding transport_def by (derive lems: assms)
end