induct: fixes P :: "'c mrexp2 \<Rightarrow> 'c mrexp2 \<Rightarrow> bool"   and a0 :: "'c mrexp2"   and a1 :: "'c mrexp2" assumes "P Zero2 Zero2"   and "P One2 One2"   and "\<And>m x m' y. P (Atom2 m x) (Atom2 m' y)"   and "\<And>r1 s1 uu_ uv_ r2 s2 uw_ ux_. \<lbrakk>P r1 r2; P s1 s2\<rbrakk> \<Longrightarrow> P (Plus2 r1 s1 uu_ uv_) (Plus2 r2 s2 uw_ ux_)"   and "\<And>r1 s1 uy_ uz_ r2 s2 va_ vb_. \<lbrakk>P r1 r2; P s1 s2\<rbrakk> \<Longrightarrow> P (Times2 r1 s1 uy_ uz_) (Times2 r2 s2 va_ vb_)"   and "\<And>r1 vc_ r2 vd_. P r1 r2 \<Longrightarrow> P (Star2 r1 vc_) (Star2 r2 vd_)"   and "P One2 Zero2"   and "\<And>v va. P One2 (Atom2 v va)"   and "\<And>v va vb vc. P One2 (Plus2 v va vb vc)"   and "\<And>v va vb vc. P One2 (Times2 v va vb vc)"   and "\<And>v va. P One2 (Star2 v va)"   and "\<And>v va. P (Atom2 v va) Zero2"   and "\<And>v va. P (Atom2 v va) One2"   and "\<And>v va vb vc vd ve. P (Atom2 v va) (Plus2 vb vc vd ve)"   and "\<And>v va vb vc vd ve. P (Atom2 v va) (Times2 vb vc vd ve)"   and "\<And>v va vb vc. P (Atom2 v va) (Star2 vb vc)"   and "\<And>v va vb vc. P (Plus2 v va vb vc) Zero2"   and "\<And>v va vb vc. P (Plus2 v va vb vc) One2"   and "\<And>v va vb vc vd ve. P (Plus2 v va vb vc) (Atom2 vd ve)"   and "\<And>v va vb vc vd ve vf vg. P (Plus2 v va vb vc) (Times2 vd ve vf vg)"   and "\<And>v va vb vc vd ve. P (Plus2 v va vb vc) (Star2 vd ve)"   and "\<And>v va vb vc. P (Times2 v va vb vc) Zero2"   and "\<And>v va vb vc. P (Times2 v va vb vc) One2"   and "\<And>v va vb vc vd ve. P (Times2 v va vb vc) (Atom2 vd ve)"   and "\<And>v va vb vc vd ve vf vg. P (Times2 v va vb vc) (Plus2 vd ve vf vg)"   and "\<And>v va vb vc vd ve. P (Times2 v va vb vc) (Star2 vd ve)"   and "\<And>v va. P (Star2 v va) Zero2"   and "\<And>v va. P (Star2 v va) One2"   and "\<And>v va vb vc. P (Star2 v va) (Atom2 vb vc)"   and "\<And>v va vb vc vd ve. P (Star2 v va) (Plus2 vb vc vd ve)"   and "\<And>v va vb vc vd ve. P (Star2 v va) (Times2 vb vc vd ve)"   and "P Zero2 One2"   and "\<And>v va. P (Atom2 v va) One2"   and "\<And>v va vb vc. P (Plus2 v va vb vc) One2"   and "\<And>v va vb vc. P (Times2 v va vb vc) One2"   and "\<And>v va. P (Star2 v va) One2"   and "\<And>v va. P Zero2 (Atom2 v va)"   and "\<And>v va. P One2 (Atom2 v va)"   and "\<And>vb vc vd ve v va. P (Plus2 vb vc vd ve) (Atom2 v va)"   and "\<And>vb vc vd ve v va. P (Times2 vb vc vd ve) (Atom2 v va)"   and "\<And>vb vc v va. P (Star2 vb vc) (Atom2 v va)"   and "\<And>v va vb vc. P Zero2 (Plus2 v va vb vc)"   and "\<And>v va vb vc. P One2 (Plus2 v va vb vc)"   and "\<And>vd ve v va vb vc. P (Atom2 vd ve) (Plus2 v va vb vc)"   and "\<And>vd ve vf vg v va vb vc. P (Times2 vd ve vf vg) (Plus2 v va vb vc)"   and "\<And>vd ve v va vb vc. P (Star2 vd ve) (Plus2 v va vb vc)"   and "\<And>v va vb vc. P Zero2 (Times2 v va vb vc)"   and "\<And>v va vb vc. P One2 (Times2 v va vb vc)"   and "\<And>vd ve v va vb vc. P (Atom2 vd ve) (Times2 v va vb vc)"   and "\<And>vd ve vf vg v va vb vc. P (Plus2 vd ve vf vg) (Times2 v va vb vc)"   and "\<And>vd ve v va vb vc. P (Star2 vd ve) (Times2 v va vb vc)"   and "\<And>v va. P Zero2 (Star2 v va)"   and "\<And>v va. P One2 (Star2 v va)"   and "\<And>vb vc v va. P (Atom2 vb vc) (Star2 v va)"   and "\<And>vb vc vd ve v va. P (Plus2 vb vc vd ve) (Star2 v va)"   and "\<And>vb vc vd ve v va. P (Times2 vb vc vd ve) (Star2 v va)" shows "P a0 a1"