From 4f147cba894baa9e372e2b67211140b1a6f7b16c Mon Sep 17 00:00:00 2001 From: Josh Chen Date: Fri, 19 Jun 2020 12:41:54 +0200 Subject: reorganize --- hott/More_Nat.thy | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 hott/More_Nat.thy (limited to 'hott/More_Nat.thy') diff --git a/hott/More_Nat.thy b/hott/More_Nat.thy new file mode 100644 index 0000000..8177170 --- /dev/null +++ b/hott/More_Nat.thy @@ -0,0 +1,43 @@ +theory More_Nat +imports Nat Spartan.More_Types + +begin + +section \Equality on Nat\ + +text \Via the encode-decode method.\ + +context begin + +Lemma (derive) eq: shows "Nat \ Nat \ U O" + apply intro focus vars m apply elim + \ \m \ 0\ + apply intro focus vars n apply elim + \ by (rule TopF) \ \n \ 0\ + \ by (rule BotF) \ \n \ suc _\ + \ by (rule U_in_U) + done + \ \m \ suc k\ + apply intro focus vars k k_eq n apply (elim n) + \ by (rule BotF) \ \n \ 0\ + \ prems vars l proof - show "k_eq l: U O" by typechk qed + \ by (rule U_in_U) + done + by (rule U_in_U) + done + +text \ +\<^term>\eq\ is defined by + eq 0 0 \ \ + eq 0 (suc k) \ \ + eq (suc k) 0 \ \ + eq (suc k) (suc l) \ eq k l +\ + + + + +end + + +end -- cgit v1.2.3