[STATEMENT]
lemma (in PolynRg) P_mod_diffxxx5_1:"\<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>;
  maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y;
  f \<in> carrier R; g \<in> carrier R; h \<in> carrier R;
  deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
             (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g);
  deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R'
                     (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f;
  0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
                (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g);
  0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
                (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h);
  rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
    (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g)
    (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h);
  P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a (g \<cdot>\<^sub>r h))\<rbrakk> \<Longrightarrow>
 (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m)) \<in> carrier R \<times> carrier R  \<and>
 erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t))
     (fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))) =
           erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)) \<and>
 erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t))
     (snd (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))) =
           erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)) \<and>
     (deg R S X (fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))) \<le> deg R'
  (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
                    (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))))) \<and>
 P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S (Suc m)\<^esup>)) ((fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> m)) \<plusminus> -\<^sub>a
                                      (fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m)))) \<and>
 (deg R S X (snd (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))) +
   deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y
     (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m)))) \<le>  deg R S X f) \<and>
 P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S (Suc m)\<^esup>)) ((snd (Hpr\<^bsub>R S X t R' Y f g h\<^esub> m)) \<plusminus> -\<^sub>a
                                      (snd (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m)))) \<and>
 P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S (Suc (Suc m))\<^esup>)) (f \<plusminus> -\<^sub>a
  ((fst (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m))) \<cdot>\<^sub>r (snd (Hpr\<^bsub>R S X t R' Y f g h\<^esub> (Suc m)))))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m \<in> carrier R \<times> carrier R \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)) \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)) \<and> deg R S X (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> deg R S X (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<le> deg R S X f \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc (Suc m)\<^esup>)) (f \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m) \<cdot>\<^sub>r snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))
[PROOF STEP]
apply (frule P_mod_diffxxx5[of t R' Y f g h m], assumption+)
[PROOF STATE]
proof (prove)
goal (8 subgoals):
 1. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> (g, h) \<in> carrier R \<times> carrier R
 2. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> deg R S X (fst (g, h)) \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)))
 3. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> deg R S X (snd (g, h)) + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h))) \<le> deg R S X f
 4. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)))
 5. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)))
 6. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h))) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)))
 7. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)\<rbrakk> \<Longrightarrow> P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h)
 8. \<lbrakk>Idomain S; t \<in> carrier S; t \<noteq> \<zero>\<^bsub>S\<^esub>; maximal_ideal S (S \<diamondsuit>\<^sub>p t); PolynRg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y; f \<in> carrier R; g \<in> carrier R; h \<in> carrier R; deg R S X g \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); deg R S X h + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) \<le> deg R S X f; 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g); 0 < deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); rel_prime_pols R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) g) (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) h); P_mod R S X (S \<diamondsuit>\<^sub>p t) (f \<plusminus> -\<^sub>a g \<cdot>\<^sub>r h); Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m \<in> carrier R \<times> carrier R \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)) \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)) \<and> deg R S X (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> deg R S X (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<le> deg R S X f \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc (Suc m)\<^esup>)) (f \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m) \<cdot>\<^sub>r snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))\<rbrakk> \<Longrightarrow> Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m \<in> carrier R \<times> carrier R \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (g, h)) \<and> erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) = erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (snd (g, h)) \<and> deg R S X (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<le> deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> deg R S X (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) + deg R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (erH R S X R' (S /\<^sub>r (S \<diamondsuit>\<^sub>p t)) Y (pj S (S \<diamondsuit>\<^sub>p t)) (fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))) \<le> deg R S X f \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc m\<^esup>)) (snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> m) \<plusminus> -\<^sub>a snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m)) \<and> P_mod R S X (S \<diamondsuit>\<^sub>p (t^\<^bsup>S Suc (Suc m)\<^esup>)) (f \<plusminus> -\<^sub>a fst (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m) \<cdot>\<^sub>r snd (Hpr\<^bsub> R S X t R' Y f g h\<^esub> Suc m))
[PROOF STEP]
apply (simp add:cart_prod_split, simp, simp, simp, simp, simp, assumption+)
[PROOF STATE]
proof (prove)
goal:
No subgoals!
[PROOF STEP]
done


[STATEMENT]
lemma chine_composites:
    shows "Chn (\<mu> \<star> assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>) = chine_hcomp \<mu> (assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>)"
    and "Chn (assoc\<^sub>S\<^sub>B \<mu> (\<nu> \<star> \<pi>) \<rho>) = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc"
    and "Chn (assoc\<^sub>S\<^sub>B \<mu> \<nu> \<pi> \<star> \<rho>) = chine_hcomp (assoc\<^sub>S\<^sub>B \<mu> \<nu> \<pi>) \<rho>"
    and "Chn (assoc\<^sub>S\<^sub>B \<mu> \<nu> (\<pi> \<star> \<rho>)) = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc"
    and "Chn (assoc\<^sub>S\<^sub>B (\<mu> \<star> \<nu>) \<pi> \<rho>) = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (Chn (\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>) = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr> &&& Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc) &&& Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho> &&& Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc &&& Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (5 subgoals):
 1. Chn (\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>) = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>
 2. Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc
 3. Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho>
 4. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
 5. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
show "Chn (\<mu> \<star> assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>) = chine_hcomp \<mu> (assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>)"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Chn (\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>) = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>
[PROOF STEP]
using hcomp_def [of \<mu> "assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>"] chine_hcomp_def [of \<mu> "assoc\<^sub>S\<^sub>B \<nu> \<pi> \<rho>"]
              \<mu>\<nu>.composable \<nu>\<pi>.composable \<pi>\<rho>.composable
[PROOF STATE]
proof (prove)
using this:
\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr> \<equiv> if arr \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr> \<and> arr \<mu> \<and> src \<mu> = trg \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr> then \<lparr>Chn = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>, Dom = \<lparr>Leg0 = assoc\<nu>\<pi>\<rho>.dom.leg0 \<cdot> \<p>\<^sub>0[\<mu>.leg0, assoc\<nu>\<pi>\<rho>.dom.leg1], Leg1 = \<mu>.leg1 \<cdot> \<p>\<^sub>1[\<mu>.leg0, assoc\<nu>\<pi>\<rho>.dom.leg1]\<rparr>, Cod = \<lparr>Leg0 = assoc\<nu>\<pi>\<rho>.cod.leg0 \<cdot> \<p>\<^sub>0[\<mu>.cod.leg0, assoc\<nu>\<pi>\<rho>.cod.leg1], Leg1 = \<mu>.cod.leg1 \<cdot> \<p>\<^sub>1[\<mu>.cod.leg0, assoc\<nu>\<pi>\<rho>.cod.leg1]\<rparr>\<rparr> else null
chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr> \<equiv> \<langle>\<mu>.chine \<cdot> \<p>\<^sub>1[\<mu>.leg0, assoc\<nu>\<pi>\<rho>.dom.leg1] \<lbrakk>\<mu>.cod.leg0, assoc\<nu>\<pi>\<rho>.cod.leg1\<rbrakk> assoc\<nu>\<pi>\<rho>.chine \<cdot> \<p>\<^sub>0[\<mu>.leg0, assoc\<nu>\<pi>\<rho>.dom.leg1]\<rangle>
src \<mu> = trg \<nu>
src \<nu> = trg \<pi>
src \<pi> = trg \<rho>

goal (1 subgoal):
 1. Chn (\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>) = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
Chn (\<mu> \<star> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>) = chine_hcomp \<mu> \<lparr>Chn = \<nu>\<pi>\<rho>.chine_assoc, Dom = Dom ((\<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<nu> \<star> \<pi> \<star> \<rho>)\<rparr>

goal (4 subgoals):
 1. Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc
 2. Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho>
 3. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
 4. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
show "Chn (assoc\<^sub>S\<^sub>B \<mu> \<nu> \<pi> \<star> \<rho>) = chine_hcomp (assoc\<^sub>S\<^sub>B \<mu> \<nu> \<pi>) \<rho>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho>
[PROOF STEP]
using assoc_in_homs(2-3) hcomp_def
[PROOF STATE]
proof (prove)
using this:
\<guillemotleft>\<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> : (\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho> \<Rightarrow> \<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>\<guillemotright>
\<guillemotleft>\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho> : ((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho> \<Rightarrow> (\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>\<guillemotright>
?\<nu> \<star> ?\<mu> \<equiv> if arr ?\<mu> \<and> arr ?\<nu> \<and> src ?\<nu> = trg ?\<mu> then \<lparr>Chn = chine_hcomp ?\<nu> ?\<mu>, Dom = \<lparr>Leg0 = Leg0 (Dom ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)], Leg1 = Leg1 (Dom ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)]\<rparr>, Cod = \<lparr>Leg0 = Leg0 (Cod ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)], Leg1 = Leg1 (Cod ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)]\<rparr>\<rparr> else null

goal (1 subgoal):
 1. Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho>
[PROOF STEP]
by (metis arrI arrow_of_spans_data.select_convs(1) hseqE)
[PROOF STATE]
proof (state)
this:
Chn (\<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<star> \<rho>) = chine_hcomp \<lparr>Chn = \<mu>\<nu>\<pi>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi>)\<rparr> \<rho>

goal (3 subgoals):
 1. Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc
 2. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
 3. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
show "Chn (assoc\<^sub>S\<^sub>B \<mu> (\<nu> \<star> \<pi>) \<rho>) = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc
[PROOF STEP]
using hcomp_def
[PROOF STATE]
proof (prove)
using this:
?\<nu> \<star> ?\<mu> \<equiv> if arr ?\<mu> \<and> arr ?\<nu> \<and> src ?\<nu> = trg ?\<mu> then \<lparr>Chn = chine_hcomp ?\<nu> ?\<mu>, Dom = \<lparr>Leg0 = Leg0 (Dom ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)], Leg1 = Leg1 (Dom ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)]\<rparr>, Cod = \<lparr>Leg0 = Leg0 (Cod ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)], Leg1 = Leg1 (Cod ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)]\<rparr>\<rparr> else null

goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc
[PROOF STEP]
by (meson arrow_of_spans_data.select_convs(1))
[PROOF STATE]
proof (state)
this:
Chn \<lparr>Chn = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu> \<star> \<pi>) \<star> \<rho>), Cod = Cod (\<mu> \<star> (\<nu> \<star> \<pi>) \<star> \<rho>)\<rparr> = \<mu>_\<nu>\<pi>_\<rho>.chine_assoc

goal (2 subgoals):
 1. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
 2. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
show "Chn (assoc\<^sub>S\<^sub>B \<mu> \<nu> (\<pi> \<star> \<rho>)) = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
[PROOF STEP]
using hcomp_def
[PROOF STATE]
proof (prove)
using this:
?\<nu> \<star> ?\<mu> \<equiv> if arr ?\<mu> \<and> arr ?\<nu> \<and> src ?\<nu> = trg ?\<mu> then \<lparr>Chn = chine_hcomp ?\<nu> ?\<mu>, Dom = \<lparr>Leg0 = Leg0 (Dom ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)], Leg1 = Leg1 (Dom ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)]\<rparr>, Cod = \<lparr>Leg0 = Leg0 (Cod ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)], Leg1 = Leg1 (Cod ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)]\<rparr>\<rparr> else null

goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc
[PROOF STEP]
by (meson arrow_of_spans_data.select_convs(1))
[PROOF STATE]
proof (state)
this:
Chn \<lparr>Chn = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc, Dom = Dom ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>), Cod = Cod (\<mu> \<star> \<nu> \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>_\<nu>_\<pi>\<rho>.chine_assoc

goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
show "Chn (assoc\<^sub>S\<^sub>B (\<mu> \<star> \<nu>) \<pi> \<rho>) = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
using hcomp_def
[PROOF STATE]
proof (prove)
using this:
?\<nu> \<star> ?\<mu> \<equiv> if arr ?\<mu> \<and> arr ?\<nu> \<and> src ?\<nu> = trg ?\<mu> then \<lparr>Chn = chine_hcomp ?\<nu> ?\<mu>, Dom = \<lparr>Leg0 = Leg0 (Dom ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)], Leg1 = Leg1 (Dom ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Dom ?\<nu>), Leg1 (Dom ?\<mu>)]\<rparr>, Cod = \<lparr>Leg0 = Leg0 (Cod ?\<mu>) \<cdot> \<p>\<^sub>0[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)], Leg1 = Leg1 (Cod ?\<nu>) \<cdot> \<p>\<^sub>1[Leg0 (Cod ?\<nu>), Leg1 (Cod ?\<mu>)]\<rparr>\<rparr> else null

goal (1 subgoal):
 1. Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc
[PROOF STEP]
by (meson arrow_of_spans_data.select_convs(1))
[PROOF STATE]
proof (state)
this:
Chn \<lparr>Chn = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc, Dom = Dom (((\<mu> \<star> \<nu>) \<star> \<pi>) \<star> \<rho>), Cod = Cod ((\<mu> \<star> \<nu>) \<star> \<pi> \<star> \<rho>)\<rparr> = \<mu>\<nu>_\<pi>_\<rho>.chine_assoc

goal:
No subgoals!
[PROOF STEP]
qed