(* Title: Nat.thy Author: Joshua Chen Date: 2018 Natural numbers *) theory Nat imports HoTT_Base begin axiomatization Nat :: t ("\") and zero :: t ("0") and succ :: "t \ t" and indNat :: "[[t, t] \ t, t, t] \ t" ("(1ind\<^sub>\)") where Nat_form: "\: U O" and Nat_intro_0: "0: \" and Nat_intro_succ: "n: \ \ succ n: \" and Nat_elim: "\ a: C 0; n: \; C: \ \ U i; \n c. \n: \; c: C n\ \ f n c: C (succ n) \ \ ind\<^sub>\ f a n: C n" and Nat_comp_0: "\ a: C 0; C: \ \ U i; \n c. \n: \; c: C(n)\ \ f n c: C (succ n) \ \ ind\<^sub>\ f a 0 \ a" and Nat_comp_succ: "\ a: C 0; n: \; C: \ \ U i; \n c. \n: \; c: C n\ \ f n c: C (succ n) \ \ ind\<^sub>\ f a (succ n) \ f n (ind\<^sub>\ f a n)" lemmas Nat_form [form] lemmas Nat_routine [intro] = Nat_form Nat_intro_0 Nat_intro_succ Nat_elim lemmas Nat_comps [comp] = Nat_comp_0 Nat_comp_succ end