equal
deleted
inserted
replaced
1177 val U' = dest_predT compfuns U; |
1177 val U' = dest_predT compfuns U; |
1178 val v = Free (name, T); |
1178 val v = Free (name, T); |
1179 val v' = Free (name', T); |
1179 val v' = Free (name', T); |
1180 in |
1180 in |
1181 lambda v (fst (Datatype.make_case |
1181 lambda v (fst (Datatype.make_case |
1182 (ProofContext.init thy) false [] v |
1182 (ProofContext.init thy) DatatypeCase.Quiet [] v |
1183 [(mk_tuple out_ts, |
1183 [(mk_tuple out_ts, |
1184 if null eqs'' then success_t |
1184 if null eqs'' then success_t |
1185 else Const (@{const_name HOL.If}, HOLogic.boolT --> U --> U --> U) $ |
1185 else Const (@{const_name HOL.If}, HOLogic.boolT --> U --> U --> U) $ |
1186 foldr1 HOLogic.mk_conj eqs'' $ success_t $ |
1186 foldr1 HOLogic.mk_conj eqs'' $ success_t $ |
1187 mk_bot compfuns U'), |
1187 mk_bot compfuns U'), |