induct: fixes P :: "('a, 'k) aformula \<Rightarrow> ('a, 'k) aformula \<Rightarrow> bool"   and a0 :: "('a, 'k) aformula"   and a1 :: "('a, 'k) aformula" assumes "\<And>b1 b2. P (FBool b1) (FBool b2)"   and "\<And>b v. P (FBool b) (FBase v)"   and "\<And>b v. P (FBool b) (FNot v)"   and "\<And>b v va. P (FBool b) (FOr v va)"   and "\<And>b v va. P (FBool b) (FAnd v va)"   and "\<And>b v va. P (FBool b) (FEx v va)"   and "\<And>b v va. P (FBool b) (FAll v va)"   and "\<And>v b. P (FBase v) (FBool b)"   and "\<And>v b. P (FNot v) (FBool b)"   and "\<And>v va b. P (FOr v va) (FBool b)"   and "\<And>v va b. P (FAnd v va) (FBool b)"   and "\<And>v va b. P (FEx v va) (FBool b)"   and "\<And>v va b. P (FAll v va) (FBool b)"   and "\<And>\<phi>1 \<phi>2 v. \<lbrakk>P \<phi>2 (FBase v); P \<phi>1 (nFAnd \<phi>2 (FBase v))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FBase v)"   and "\<And>\<phi>1 \<phi>2 v. \<lbrakk>P \<phi>2 (FNot v); P \<phi>1 (nFAnd \<phi>2 (FNot v))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FNot v)"   and "\<And>\<phi>1 \<phi>2 v va. \<lbrakk>P \<phi>2 (FOr v va); P \<phi>1 (nFAnd \<phi>2 (FOr v va))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FOr v va)"   and "\<And>\<phi>1 \<phi>2 v va. \<lbrakk>P \<phi>2 (FAnd v va); P \<phi>1 (nFAnd \<phi>2 (FAnd v va))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FAnd v va)"   and "\<And>\<phi>1 \<phi>2 v va. \<lbrakk>P \<phi>2 (FEx v va); P \<phi>1 (nFAnd \<phi>2 (FEx v va))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FEx v va)"   and "\<And>\<phi>1 \<phi>2 v va. \<lbrakk>P \<phi>2 (FAll v va); P \<phi>1 (nFAnd \<phi>2 (FAll v va))\<rbrakk> \<Longrightarrow> P (FAnd \<phi>1 \<phi>2) (FAll v va)"   and "\<And>v \<psi>1 \<psi>2. (\<lbrakk>FBase v \<noteq> \<psi>1; \<not> FBase v < \<psi>1\<rbrakk> \<Longrightarrow> P (FBase v) \<psi>2) \<Longrightarrow> P (FBase v) (FAnd \<psi>1 \<psi>2)"   and "\<And>v \<psi>1 \<psi>2. (\<lbrakk>FNot v \<noteq> \<psi>1; \<not> FNot v < \<psi>1\<rbrakk> \<Longrightarrow> P (FNot v) \<psi>2) \<Longrightarrow> P (FNot v) (FAnd \<psi>1 \<psi>2)"   and "\<And>v va \<psi>1 \<psi>2. (\<lbrakk>FOr v va \<noteq> \<psi>1; \<not> FOr v va < \<psi>1\<rbrakk> \<Longrightarrow> P (FOr v va) \<psi>2) \<Longrightarrow> P (FOr v va) (FAnd \<psi>1 \<psi>2)"   and "\<And>v va \<psi>1 \<psi>2. (\<lbrakk>FEx v va \<noteq> \<psi>1; \<not> FEx v va < \<psi>1\<rbrakk> \<Longrightarrow> P (FEx v va) \<psi>2) \<Longrightarrow> P (FEx v va) (FAnd \<psi>1 \<psi>2)"   and "\<And>v va \<psi>1 \<psi>2. (\<lbrakk>FAll v va \<noteq> \<psi>1; \<not> FAll v va < \<psi>1\<rbrakk> \<Longrightarrow> P (FAll v va) \<psi>2) \<Longrightarrow> P (FAll v va) (FAnd \<psi>1 \<psi>2)"   and "\<And>v va. P (FBase v) (FBase va)"   and "\<And>v va. P (FBase v) (FNot va)"   and "\<And>v va vb. P (FBase v) (FOr va vb)"   and "\<And>v va vb. P (FBase v) (FEx va vb)"   and "\<And>v va vb. P (FBase v) (FAll va vb)"   and "\<And>v va. P (FNot v) (FBase va)"   and "\<And>v va. P (FNot v) (FNot va)"   and "\<And>v va vb. P (FNot v) (FOr va vb)"   and "\<And>v va vb. P (FNot v) (FEx va vb)"   and "\<And>v va vb. P (FNot v) (FAll va vb)"   and "\<And>v va vb. P (FOr v va) (FBase vb)"   and "\<And>v va vb. P (FOr v va) (FNot vb)"   and "\<And>v va vb vc. P (FOr v va) (FOr vb vc)"   and "\<And>v va vb vc. P (FOr v va) (FEx vb vc)"   and "\<And>v va vb vc. P (FOr v va) (FAll vb vc)"   and "\<And>v va vb. P (FEx v va) (FBase vb)"   and "\<And>v va vb. P (FEx v va) (FNot vb)"   and "\<And>v va vb vc. P (FEx v va) (FOr vb vc)"   and "\<And>v va vb vc. P (FEx v va) (FEx vb vc)"   and "\<And>v va vb vc. P (FEx v va) (FAll vb vc)"   and "\<And>v va vb. P (FAll v va) (FBase vb)"   and "\<And>v va vb. P (FAll v va) (FNot vb)"   and "\<And>v va vb vc. P (FAll v va) (FOr vb vc)"   and "\<And>v va vb vc. P (FAll v va) (FEx vb vc)"   and "\<And>v va vb vc. P (FAll v va) (FAll vb vc)"   and "\<And>va v. P (FBase va) (FBase v)"   and "\<And>va v. P (FNot va) (FBase v)"   and "\<And>va vb v. P (FOr va vb) (FBase v)"   and "\<And>va vb v. P (FEx va vb) (FBase v)"   and "\<And>va vb v. P (FAll va vb) (FBase v)"   and "\<And>va v. P (FBase va) (FNot v)"   and "\<And>va v. P (FNot va) (FNot v)"   and "\<And>va vb v. P (FOr va vb) (FNot v)"   and "\<And>va vb v. P (FEx va vb) (FNot v)"   and "\<And>va vb v. P (FAll va vb) (FNot v)"   and "\<And>vb v va. P (FBase vb) (FOr v va)"   and "\<And>vb v va. P (FNot vb) (FOr v va)"   and "\<And>vb vc v va. P (FOr vb vc) (FOr v va)"   and "\<And>vb vc v va. P (FEx vb vc) (FOr v va)"   and "\<And>vb vc v va. P (FAll vb vc) (FOr v va)"   and "\<And>vb v va. P (FBase vb) (FEx v va)"   and "\<And>vb v va. P (FNot vb) (FEx v va)"   and "\<And>vb vc v va. P (FOr vb vc) (FEx v va)"   and "\<And>vb vc v va. P (FEx vb vc) (FEx v va)"   and "\<And>vb vc v va. P (FAll vb vc) (FEx v va)"   and "\<And>vb v va. P (FBase vb) (FAll v va)"   and "\<And>vb v va. P (FNot vb) (FAll v va)"   and "\<And>vb vc v va. P (FOr vb vc) (FAll v va)"   and "\<And>vb vc v va. P (FEx vb vc) (FAll v va)"   and "\<And>vb vc v va. P (FAll vb vc) (FAll v va)" shows "P a0 a1"