equal
deleted
inserted
replaced
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 |