src/HOL/Tools/Presburger/cooper_dec.ML
changeset 22804 d3c23b90c6c6
parent 21873 62d2416728f5
child 22997 d4f3b015b50b
--- a/src/HOL/Tools/Presburger/cooper_dec.ML	Thu Apr 26 13:33:09 2007 +0200
+++ b/src/HOL/Tools/Presburger/cooper_dec.ML	Thu Apr 26 13:33:12 2007 +0200
@@ -512,16 +512,13 @@
 (*list_disj[conj] makes a disj[conj] of a given list. used with conjucts or disjuncts 
 it liearises iterated conj[disj]unctions. *) 
  
-fun disj_help p q = HOLogic.disj $ p $ q ; 
- 
-fun list_disj l = 
-  if l = [] then HOLogic.false_const else Utils.end_itlist disj_help l; 
-   
-fun conj_help p q = HOLogic.conj $ p $ q ; 
- 
-fun list_conj l = 
-  if l = [] then HOLogic.true_const else Utils.end_itlist conj_help l; 
-   
+fun list_disj [] = HOLogic.false_const
+  | list_disj ps = foldr1 (fn (p, q) => HOLogic.disj $ p $ q) ps;
+
+fun list_conj [] = HOLogic.true_const
+  | list_conj ps = foldr1 (fn (p, q) => HOLogic.conj $ p $ q) ps;
+
+
 (*Simplification of Formulas *) 
  
 (*Function q_bnd_chk checks if a quantified Formula makes sens : Means if in