invalid type ascription, term has type @has_mem.mem (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group) (@direct_sum.has_add_subgroup_decomposition.module A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)) (@set_like.has_mem (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group) (@direct_sum.has_add_subgroup_decomposition.module A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@submodule.set_like (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group) (@direct_sum.has_add_subgroup_decomposition.module A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a))) (@has_scalar.smul (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@smul_with_zero.to_has_scalar (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@mul_zero_class.to_has_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@mul_zero_one_class.to_mul_zero_class (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@monoid_with_zero.to_mul_zero_one_class (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@semiring.to_monoid_with_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)))))) (@add_zero_class.to_has_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_monoid.to_add_zero_class (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_comm_monoid.to_add_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group)))) (@mul_action_with_zero.to_smul_with_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@semiring.to_monoid_with_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5))) (@add_zero_class.to_has_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_monoid.to_add_zero_class (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_comm_monoid.to_add_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group)))) (@module.to_mul_action_with_zero (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ a)) (Gᵢ a).to_add_comm_group) (@direct_sum.has_add_subgroup_decomposition.module A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)))) (@coe_fn (@add_monoid_hom (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) (@add_monoid.to_add_zero_class (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) (@add_comm_monoid.to_add_monoid (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) (@direct_sum.add_comm_monoid A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)))) (@add_monoid.to_add_zero_class ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) (@add_comm_monoid.to_add_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) ((λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) 0)))) (@add_monoid_hom.has_coe_to_fun (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) (@add_monoid.to_add_zero_class (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) (@add_comm_monoid.to_add_monoid (@direct_sum A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)) (@direct_sum.add_comm_monoid A (λ (i : A), (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (λ (i : A), (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) i)))) (@add_monoid.to_add_zero_class ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) (@add_comm_monoid.to_add_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) 0) ((λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) 0)))) (@direct_sum.projection A (λ (a b : A), _inst_1 a b) (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) (λ (i : A), @add_comm_group.to_add_comm_monoid ((λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) i) (Gᵢ i).to_add_comm_group) 0) (@coe_fn (@ring_equiv R (@direct_sum A (λ (i : A), @coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ i)) (λ (i : A), @add_comm_group.to_add_comm_monoid (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R …)) … …) …)) … … … …) … … …)) m) M but is expected to have type @has_mem.mem (@coe_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) (@set_like.has_coe_to_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) R (@submodule.set_like (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)))) (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)) (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) (@set_like.has_coe_to_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) R (@submodule.set_like (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)))) (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a).add_comm_monoid (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a).module) (@set_like.has_mem (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@coe_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) (@set_like.has_coe_to_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) R (@submodule.set_like (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)))) (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a)) (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a).add_comm_monoid (@direct_sum.has_add_subgroup_decomposition.component_submodule_for_zero_component_subring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5 a).module) (@coe_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) (@set_like.has_coe_to_sort (@submodule (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R (@comm_ring.to_ring R _inst_3) Gᵢ _inst_4 _inst_5)) (@add_comm_group.to_add_comm_monoid R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))) (@algebra.to_module (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@comm_ring.to_comm_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) (@direct_sum.has_add_subgroup_decomposition.comm_ring A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5)) (@ring.to_semiring R (@comm_ring.to_ring R _inst_3)) (@direct_sum.has_add_subgroup_decomposition.algebra A (λ (a b : A), _inst_1 a b) (@sub_neg_monoid.to_add_monoid A (@add_group.to_sub_neg_monoid A _inst_2)) R _inst_3 Gᵢ _inst_4 _inst_5))) R (@submodule.set_like (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3))))) (Gᵢ 0)) R (@ring.to_semiring (@coe_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) (@set_like.has_coe_to_sort (@add_subgroup R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R (@comm_ring.to_ring R _inst_3)))) R (@add_subgroup.set_like R (@add_comm_group.to_add_group R (@ring.to_add_comm_group R …)))) …) …) … …)) …) …) … M state: A : Type u_1, _inst_1 : decidable_eq A, _inst_2 : add_group A, R : Type u_2, _inst_3 : comm_ring R, Gᵢ : A → add_subgroup R, _inst_4 : has_add_subgroup_decomposition Gᵢ, _inst_5 : add_subgroup.is_gmonoid Gᵢ, a : A, M : submodule ↥(Gᵢ 0) ↥(Gᵢ a), M' : submodule ↥(Gᵢ 0) R := submodule.map (component_submodule_for_zero_component_subring R Gᵢ a).subtype M, f : ↥(Gᵢ a) →₀ R, hm : ⇑(finsupp.total ↥(Gᵢ a) R R ⇑((Gᵢ a).subtype)) f ∈ Gᵢ a, hm' : f.sum (λ (m : ↥(Gᵢ a)) (b : R), ⇑((Gᵢ a).subtype) (⇑(projection (λ (i : A), ↥(Gᵢ i)) a) (⇑(of (λ (i : A), ↥(Gᵢ i)) 0) (⇑(projection (λ (i : A), ↥(Gᵢ i)) 0) (⇑(add_subgroup_decomposition_ring_equiv Gᵢ) b)) * ⇑(of (λ (i : A), ↥(Gᵢ i)) a) m))) = ⇑(finsupp.total ↥(Gᵢ a) R R ⇑((Gᵢ a).subtype)) f, m : ↥(Gᵢ a), hm : m ∈ f.support, hf : ↑(f.support) ⊆ ↑M ⊢ ⇑(projection (λ (i : A), ↥(Gᵢ i)) 0) (⇑(add_subgroup_decomposition_ring_equiv Gᵢ) (⇑f m)) • m ∈ M