equal
deleted
inserted
replaced
667 Ordered rewriting with the combination of A, C, and LC sorts a term |
667 Ordered rewriting with the combination of A, C, and LC sorts a term |
668 lexicographically --- the rewriting engine imitates bubble-sort. |
668 lexicographically --- the rewriting engine imitates bubble-sort. |
669 \<close> |
669 \<close> |
670 |
670 |
671 experiment |
671 experiment |
672 fixes f :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" (infix "\<bullet>" 60) |
672 fixes f :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" (infix \<open>\<bullet>\<close> 60) |
673 assumes assoc: "(x \<bullet> y) \<bullet> z = x \<bullet> (y \<bullet> z)" |
673 assumes assoc: "(x \<bullet> y) \<bullet> z = x \<bullet> (y \<bullet> z)" |
674 assumes commute: "x \<bullet> y = y \<bullet> x" |
674 assumes commute: "x \<bullet> y = y \<bullet> x" |
675 begin |
675 begin |
676 |
676 |
677 lemma left_commute: "x \<bullet> (y \<bullet> z) = y \<bullet> (x \<bullet> z)" |
677 lemma left_commute: "x \<bullet> (y \<bullet> z) = y \<bullet> (x \<bullet> z)" |