equal
deleted
inserted
replaced
20 inductive_simps exact_seq_end_iff [simp]: "exact_seq ([G,H], (g # q))" |
20 inductive_simps exact_seq_end_iff [simp]: "exact_seq ([G,H], (g # q))" |
21 inductive_simps exact_seq_cons_iff [simp]: "exact_seq ((G # K # H # l), (g # h # q))" |
21 inductive_simps exact_seq_cons_iff [simp]: "exact_seq ((G # K # H # l), (g # h # q))" |
22 |
22 |
23 abbreviation exact_seq_arrow :: |
23 abbreviation exact_seq_arrow :: |
24 "('a \<Rightarrow> 'a) \<Rightarrow> 'a monoid list \<times> ('a \<Rightarrow> 'a) list \<Rightarrow> 'a monoid \<Rightarrow> 'a monoid list \<times> ('a \<Rightarrow> 'a) list" |
24 "('a \<Rightarrow> 'a) \<Rightarrow> 'a monoid list \<times> ('a \<Rightarrow> 'a) list \<Rightarrow> 'a monoid \<Rightarrow> 'a monoid list \<times> ('a \<Rightarrow> 'a) list" |
25 (\<open>(3_ / \<longlongrightarrow>\<index> _)\<close> [1000, 60]) |
25 (\<open>(\<open>indent=3 notation=\<open>mixfix exact_seq\<close>\<close>_ / \<longlongrightarrow>\<index> _)\<close> [1000, 60]) |
26 where "exact_seq_arrow f t G \<equiv> (G # (fst t), f # (snd t))" |
26 where "exact_seq_arrow f t G \<equiv> (G # (fst t), f # (snd t))" |
27 |
27 |
28 |
28 |
29 subsection \<open>Basic Properties\<close> |
29 subsection \<open>Basic Properties\<close> |
30 |
30 |