src/HOL/BNF/Tools/bnf_ctr_sugar.ML
changeset 53039 476db75906ae
parent 52988 d1bdc6a97460
child 53040 e6edd7abc4ce
equal deleted inserted replaced
53038:dd5ea8a51af0 53039:476db75906ae
   118 val cong_attrs = @{attributes [cong]};
   118 val cong_attrs = @{attributes [cong]};
   119 val iff_attrs = @{attributes [iff]};
   119 val iff_attrs = @{attributes [iff]};
   120 val safe_elim_attrs = @{attributes [elim!]};
   120 val safe_elim_attrs = @{attributes [elim!]};
   121 val simp_attrs = @{attributes [simp]};
   121 val simp_attrs = @{attributes [simp]};
   122 
   122 
   123 fun unflat_lookup eq = map oo sort_like eq;
   123 fun unflat_lookup eq xs ys = map (fn xs' => mk_permute eq xs xs' ys);
   124 
   124 
   125 fun mk_half_pairss' _ ([], []) = []
   125 fun mk_half_pairss' _ ([], []) = []
   126   | mk_half_pairss' indent (x :: xs, _ :: ys) =
   126   | mk_half_pairss' indent (x :: xs, _ :: ys) =
   127     indent @ fold_rev (cons o single o pair x) ys (mk_half_pairss' ([] :: indent) (xs, ys));
   127     indent @ fold_rev (cons o single o pair x) ys (mk_half_pairss' ([] :: indent) (xs, ys));
   128 
   128