diff options
author | Josh Chen | 2018-09-11 08:59:16 +0200 |
---|---|---|
committer | Josh Chen | 2018-09-11 08:59:16 +0200 |
commit | 9b17aac85aa650a7a9d6463d3d01f1eb228d4572 (patch) | |
tree | 48fd7cf1d921067e276f2d981ec20f133693baaa /Nat.thy | |
parent | bed5d559b62cf3f3acb75b28c2e192e274f46cc1 (diff) |
Go back to higher-order application notation
Diffstat (limited to 'Nat.thy')
-rw-r--r-- | Nat.thy | 28 |
1 files changed, 14 insertions, 14 deletions
@@ -17,31 +17,31 @@ axiomatization succ :: "Term \<Rightarrow> Term" and indNat :: "[[Term, Term] \<Rightarrow> Term, Term, Term] \<Rightarrow> Term" ("(1ind\<^sub>\<nat>)") where - Nat_form: "\<nat>: U(O)" + Nat_form: "\<nat>: U O" and Nat_intro_0: "0: \<nat>" and - Nat_intro_succ: "n: \<nat> \<Longrightarrow> succ(n): \<nat>" + Nat_intro_succ: "n: \<nat> \<Longrightarrow> succ n: \<nat>" and Nat_elim: "\<lbrakk> - C: \<nat> \<longrightarrow> U(i); - \<And>n c. \<lbrakk>n: \<nat>; c: C(n)\<rbrakk> \<Longrightarrow> f(n)(c): C(succ n); - a: C(0); + C: \<nat> \<longrightarrow> U i; + \<And>n c. \<lbrakk>n: \<nat>; c: C n\<rbrakk> \<Longrightarrow> f n c: C (succ n); + a: C 0; n: \<nat> - \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat>(f)(a)(n): C(n)" + \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat> f a n: C n" and Nat_comp_0: "\<lbrakk> - C: \<nat> \<longrightarrow> U(i); - \<And>n c. \<lbrakk>n: \<nat>; c: C(n)\<rbrakk> \<Longrightarrow> f(n)(c): C(succ n); - a: C(0) - \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat>(f)(a)(0) \<equiv> a" + C: \<nat> \<longrightarrow> U i; + \<And>n c. \<lbrakk>n: \<nat>; c: C(n)\<rbrakk> \<Longrightarrow> f n c: C (succ n); + a: C 0 + \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat> f a 0 \<equiv> a" and Nat_comp_succ: "\<lbrakk> - C: \<nat> \<longrightarrow> U(i); - \<And>n c. \<lbrakk>n: \<nat>; c: C(n)\<rbrakk> \<Longrightarrow> f(n)(c): C(succ n); - a: C(0); + C: \<nat> \<longrightarrow> U i; + \<And>n c. \<lbrakk>n: \<nat>; c: C n\<rbrakk> \<Longrightarrow> f n c: C (succ n); + a: C 0; n: \<nat> - \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat>(f)(a)(succ n) \<equiv> f(n)(ind\<^sub>\<nat> f a n)" + \<rbrakk> \<Longrightarrow> ind\<^sub>\<nat> f a (succ n) \<equiv> f n (ind\<^sub>\<nat> f a n)" text "Rule attribute declarations:" |