equal
deleted
inserted
replaced
32 (let s1 = diff_spmat c1 (mult_spmat y A2); s2 = diff_spmat c2 (mult_spmat y A1) in |
32 (let s1 = diff_spmat c1 (mult_spmat y A2); s2 = diff_spmat c2 (mult_spmat y A1) in |
33 add_spmat (mult_spmat (pprt_spmat s2) (pprt_spmat r2), add_spmat (mult_spmat (pprt_spmat s1) (nprt_spmat r2), |
33 add_spmat (mult_spmat (pprt_spmat s2) (pprt_spmat r2), add_spmat (mult_spmat (pprt_spmat s1) (nprt_spmat r2), |
34 add_spmat (mult_spmat (nprt_spmat s2) (pprt_spmat r1), mult_spmat (nprt_spmat s1) (nprt_spmat r1)))))))" |
34 add_spmat (mult_spmat (nprt_spmat s2) (pprt_spmat r1), mult_spmat (nprt_spmat s1) (nprt_spmat r1)))))))" |
35 apply (simp add: Let_def) |
35 apply (simp add: Let_def) |
36 apply (insert assms) |
36 apply (insert assms) |
37 apply (simp add: sparse_row_matrix_op_simps ring_simps) |
37 apply (simp add: sparse_row_matrix_op_simps algebra_simps) |
38 apply (rule mult_le_dual_prts[where A=A, simplified Let_def ring_simps]) |
38 apply (rule mult_le_dual_prts[where A=A, simplified Let_def algebra_simps]) |
39 apply (auto) |
39 apply (auto) |
40 done |
40 done |
41 |
41 |
42 lemma spm_mult_le_dual_prts_no_let: |
42 lemma spm_mult_le_dual_prts_no_let: |
43 assumes |
43 assumes |