equal
deleted
inserted
replaced
75 next |
75 next |
76 case (snoc cs c) |
76 case (snoc cs c) |
77 with distinct have "distinct (a # b # cs @ [c])" |
77 with distinct have "distinct (a # b # cs @ [c])" |
78 by simp |
78 by simp |
79 then have **: "\<langle>a \<leftrightarrow> b\<rangle> * \<langle>c \<leftrightarrow> a\<rangle> = \<langle>c \<leftrightarrow> a\<rangle> * \<langle>c \<leftrightarrow> b\<rangle>" |
79 then have **: "\<langle>a \<leftrightarrow> b\<rangle> * \<langle>c \<leftrightarrow> a\<rangle> = \<langle>c \<leftrightarrow> a\<rangle> * \<langle>c \<leftrightarrow> b\<rangle>" |
80 by transfer (auto simp add: comp_def Fun.swap_def) |
80 by transfer (auto simp add: fun_eq_iff transpose_def) |
81 with snoc * show ?thesis |
81 with snoc * show ?thesis |
82 by (simp add: mult.assoc [symmetric]) |
82 by (simp add: mult.assoc [symmetric]) |
83 qed |
83 qed |
84 qed simp_all |
84 qed simp_all |
85 |
85 |