diff -r 1bf4337919d3 -r 3e7a6ec549d1 Quot/quotient_term.ML --- a/Quot/quotient_term.ML Thu Jan 21 09:55:05 2010 +0100 +++ b/Quot/quotient_term.ML Thu Jan 21 10:55:09 2010 +0100 @@ -367,6 +367,7 @@ val mk_ball = Const (@{const_name Ball}, dummyT) val mk_bex = Const (@{const_name Bex}, dummyT) val mk_bex1 = Const (@{const_name Bex1}, dummyT) +val mk_bexeq = Const (@{const_name Bexeq}, dummyT) val mk_resp = Const (@{const_name Respects}, dummyT) (* - applies f to the subterm of an abstraction, @@ -466,17 +467,17 @@ val subtrm = apply_subt (regularize_trm ctxt) (t, t') in if ty = ty' then Const (@{const_name "Ex1"}, ty) $ subtrm - else mk_bex1 $ (mk_resp $ equiv_relation ctxt (qnt_typ ty, qnt_typ ty')) $ subtrm + else mk_bexeq $ (equiv_relation ctxt (qnt_typ ty, qnt_typ ty')) $ subtrm end - | (Const (@{const_name "Bex1"}, ty) $ (Const (@{const_name "Respects"}, _) $ resrel) $ t, Const (@{const_name "Ex1"}, ty') $ t') => + | (Const (@{const_name "Bexeq"}, ty) $ resrel $ t, Const (@{const_name "Ex1"}, ty') $ t') => let val subtrm = apply_subt (regularize_trm ctxt) (t, t') val needrel = Syntax.check_term ctxt (equiv_relation ctxt (qnt_typ ty, qnt_typ ty')) in if resrel <> needrel then term_mismatch "regularize(bex1)" ctxt resrel needrel - else mk_bex1 $ (mk_resp $ resrel) $ subtrm + else mk_bexeq $ resrel $ subtrm end | (* equalities need to be replaced by appropriate equivalence relations *)