equal
deleted
inserted
replaced
68 "inl(a) : HTT <-> a : HTT", |
68 "inl(a) : HTT <-> a : HTT", |
69 "inr(b) : HTT <-> b : HTT", |
69 "inr(b) : HTT <-> b : HTT", |
70 "zero : HTT", |
70 "zero : HTT", |
71 "succ(n) : HTT <-> n : HTT", |
71 "succ(n) : HTT <-> n : HTT", |
72 "[] : HTT", |
72 "[] : HTT", |
73 "x.xs : HTT <-> x : HTT & xs : HTT"]; |
73 "x$xs : HTT <-> x : HTT & xs : HTT"]; |
74 end; |
74 end; |
75 |
75 |
76 val HTT_Is = HTT_rews @ (HTT_rews RL [iffD2]); |
76 val HTT_Is = HTT_rews @ (HTT_rews RL [iffD2]); |
77 |
77 |
78 (*** Coinduction for HTT ***) |
78 (*** Coinduction for HTT ***) |
106 "zero : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
106 "zero : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
107 "n : lfp(%x. HTTgen(x) Un R Un HTT) ==> \ |
107 "n : lfp(%x. HTTgen(x) Un R Un HTT) ==> \ |
108 \ succ(n) : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
108 \ succ(n) : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
109 "[] : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
109 "[] : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))", |
110 "[| h : lfp(%x. HTTgen(x) Un R Un HTT); t : lfp(%x. HTTgen(x) Un R Un HTT) |] ==>\ |
110 "[| h : lfp(%x. HTTgen(x) Un R Un HTT); t : lfp(%x. HTTgen(x) Un R Un HTT) |] ==>\ |
111 \ h.t : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))"]; |
111 \ h$t : HTTgen(lfp(%x. HTTgen(x) Un R Un HTT))"]; |
112 |
112 |
113 (*** Formation Rules for Types ***) |
113 (*** Formation Rules for Types ***) |
114 |
114 |
115 goal Hered.thy "Unit <= HTT"; |
115 goal Hered.thy "Unit <= HTT"; |
116 by (simp_tac (CCL_ss addsimps ([subsetXH,UnitXH] @ HTT_rews)) 1); |
116 by (simp_tac (CCL_ss addsimps ([subsetXH,UnitXH] @ HTT_rews)) 1); |