[(Exists, []), (Exists.dcases_on, [Exists.rec, Exists.intro, Exists]), (Exists.fst, [id_rhs, Exists.dcases_on, Exists]), (Exists.imp, [exists_imp_exists, Exists]), (Exists.intro, [Exists]), (Exists.rec, [Exists]), (_private.1082582835.mlt, [nat.zero_lt_succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt.trans, nat.has_zero, has_zero.zero, nat.succ, nat.mod_lt, id_rhs, nat.zero, nat.cases_on, nat.has_mod, has_mod.mod, has_lt.lt, nat.has_lt, gt, nat]), (_private.1161070435.mod.F, [not, _private.2399796771.div_rec_lemma, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, and, dite, nat.has_lt, has_lt.lt, nat]), (_private.1300831855.not_uv_or_p, [or.inr, true_ne_false, eq.symm, eq.subst, or.inl, _private.1585159269.v_def, false, _private.4130982363.u_def, true, eq, or.elim, _private.3051313149.v, _private.712932267.u, ne, or]), (_private.1333942017.U, [true, eq, or]), (_private.1339621123.left_distrib_aux, [eq.symm, nat.modeq.modeq_add, nat.modeq.refl, mul_add, eq.refl, eq.rec, id, distrib.to_has_mul, nat.distrib, distrib.to_has_add, nat.modeq, eq.mpr, nat.mod_mod, rfl, nat.modeq.modeq_mul, nat.has_add, nat.has_mod, has_mod.mod, nat.has_mul, nat.modeq.trans, fin.eq_of_veq, fin, fin.mk, id_rhs, nat.has_lt, has_lt.lt, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.cases_on, zmod.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, zmod.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (_private.1541877095.nonneg_or_nonneg_neg, [int.neg_succ_of_nat, or.inr, trivial, int.of_nat, or.inl, nat, int.cases_on, int.has_neg, has_neg.neg, _private.512557913.nonneg, or, int]), (_private.1585159269.v_def, [_private.703956875.exV, classical.some_spec, _private.3051313149.v, _private.2108828515.V]), (_private.1601027715.one_mul_aux, [eq_self_iff_true, propext, fin.is_lt, nat.monoid, one_mul, trivial, nat.decidable_lt, has_lt.lt, of_as_true, nat.mod_eq_of_lt, pnat.mk_coe, eq.refl, zmod.one_val, has_mul, nat.has_one, has_mod, zmod.mul_val, nat.has_mul, nat.has_mod, has_mod.mod, congr_arg, congr, eq.trans, id, true, fin.val, eq.mpr, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.eq_of_veq, zmod.zmod_one.subsingleton, pnat.comm_monoid, comm_monoid.to_monoid, monoid.to_has_one, subsingleton.elim, nat.succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, false.elim, nat.zero, nat.cases_on, subtype.mk, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype.cases_on, zmod.has_one, has_one.one, zmod.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (_private.1695653797.eq_imp_rel, [_private.2179323107.rel.refl, eq.rec_on, _private.394298891.rel, eq, quotient, setoid]), (_private.177847119.left_distrib, [trivial, has_add, finsupp.sum_add, forall_3_true_iff, finsupp.single_add, mul_add, semiring.to_distrib, distrib.to_has_add, true.intro, forall_true_iff, eq_self_iff_true, propext, finsupp.single_zero, mul_zero, eq.drec, has_zero, finsupp.has_zero, iff.refl, iff, eq.rec, forall_congr, iff.trans, has_zero.zero, iff.mpr, finsupp.sum_add_index, funext, eq.refl, add_comm_monoid, finsupp.mul_def, add_monoid.to_has_zero, congr_arg, congr, mul_zero_class.to_has_mul, finsupp.single, finsupp.add_comm_monoid, finsupp.sum, eq.trans, id, true, eq.mpr, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, finsupp.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (_private.2017655501.acc_aux, [rfl, eq.rec_on, acc.intro, acc.rec_on, inv_image, eq, acc]), (_private.2108828515.V, [false, eq, or]), (_private.2179323107.rel.refl, [setoid.refl, setoid.r, quot.induction_on, _private.394298891.rel, quotient, setoid]), (_private.221922577.lbp, [not, nat.has_le, has_le.le, nat.has_one, has_one.one, nat.has_add, has_add.add, eq, and, nat]), (_private.2399796771.div_rec_lemma, [nat.lt_of_lt_of_le, nat.sub_lt, and.rec, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, and, nat]), (_private.2558287623.extfun, [_private.664069189.fun_setoid, quotient]), (_private.2699327575.mul_inv_cancel_aux, [ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, nat.cast_one, ne.def, nat.cast_zero, eq.symm, zmodp.eq_iff_modeq_nat, nat.modeq.modeq_zero_iff, propext, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, nat.modeq, eq.mp, nat.prime.coprime_iff_not_dvd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, nat.coprime, iff.mpr, pnat.mk_coe, has_lift_t, nat.has_one, eq.trans, congr_arg, congr, nat.gcd_comm, zmodp.mul_inv_eq_gcd, nat.gcd, zmodp.mk_eq_cast, eq.refl, fin, eq.rec, id, ring.to_distrib, distrib.to_has_add, nat.cast_coe, eq.mpr, fin.mk, id_rhs, has_lt.lt, nat.prime.pos, nat.has_zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.cases_on, ring.to_monoid, monoid.to_has_one, has_one.one, zmodp.has_inv, has_inv.inv, mul_zero_class.to_has_mul, has_mul.mul, eq, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ne, zmodp, nat.prime, nat]), (_private.3007168525.mul_zero, [trivial, eq_self_iff_true, propext, finsupp.sum_zero, finsupp.sum_zero_index, funext, eq.refl, add_comm_monoid, finsupp.mul_def, mul_zero_class.to_has_mul, has_add.add, finsupp.single, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, congr_arg, congr, eq.trans, id, true, eq.mpr, finsupp.has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (_private.3031835297.right_distrib, [trivial, has_add, forall_3_true_iff, finsupp.sum_add, finsupp.single_add, add_mul, semiring.to_distrib, distrib.to_has_add, true.intro, forall_true_iff, eq_self_iff_true, propext, finsupp.sum_zero, finsupp.single_zero, zero_mul, eq.drec, has_zero, funext, eq.refl, add_comm_monoid, finsupp.has_zero, iff.refl, iff, eq.rec, forall_congr, iff.trans, has_zero.zero, iff.mpr, finsupp.sum_add_index, finsupp.mul_def, add_monoid.to_has_zero, congr_arg, congr, mul_zero_class.to_has_mul, finsupp.single, finsupp.add_comm_monoid, finsupp.sum, eq.trans, id, true, eq.mpr, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, finsupp.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (_private.3051313149.v, [_private.703956875.exV, _private.2108828515.V, classical.some]), (_private.3181648053.zero_mul, [trivial, eq_self_iff_true, propext, eq.refl, finsupp.sum_zero_index, finsupp.mul_def, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, mul_zero_class.to_has_mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, congr_arg, congr, eq.trans, id, true, eq.mpr, finsupp.has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (_private.3320256275.extfun_app, [_private.3320256275.extfun_app._proof_1, _private.664069189.fun_setoid, setoid.r, quot.lift_on, _private.2558287623.extfun]), (_private.3320256275.extfun_app._proof_1, [eq, _private.664069189.fun_setoid, setoid.r]), (_private.333421945.decidable_nonneg, [decidable.false, decidable.true, nat, int.cases_on, _private.512557913.nonneg, decidable, int]), (_private.3368403081.gpow_add_aux, [int.of_nat_add_neg_succ_of_nat_of_ge, nat.le_of_lt_succ, inv_inv, mul_inv_rev, eq_false_intro, imp_eq_of_eq_true_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_of_lt, eq_true_intro, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, pow_sub, nat.succ_sub, eq.symm, eq.rec, trivial, eq_self_iff_true, mul_right_inj, group.to_right_cancel_semigroup, right_cancel_semigroup.to_semigroup, propext, gpow_neg_succ, gpow_of_nat, has_mul, true.intro, iff_true_intro, iff.mpr, int.of_nat_add_neg_succ_of_nat_of_lt, eq.refl, has_pow, congr_arg, congr, group.to_has_inv, has_inv.inv, monoid.has_pow, eq.trans, id, true, eq.mpr, nat.has_sub, has_sub.sub, has_le.le, nat.lt_or_ge, nat.has_le, ge, nat.succ, nat.has_lt, has_lt.lt, or.elim, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, int.neg_succ_of_nat, int.of_nat, int.has_add, has_add.add, group.has_pow, int, has_pow.pow, eq, nat, group]), (_private.370698095.wf_lbp, [_private.370698095.wf_lbp._match_3, well_founded.intro, _private.221922577.lbp, well_founded, Exists, decidable_pred, nat]), (_private.370698095.wf_lbp._match_1, [heq.refl, absurd, id_rhs, eq.refl, eq.rec, nat.add, nat.succ, heq, eq.dcases_on, not, nat.has_one, has_one.one, eq, and.dcases_on, acc, _private.221922577.lbp, nat.zero, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (_private.370698095.wf_lbp._match_2, [heq.refl, nat.add_right_comm, id, eq.mpr, id_rhs, eq.refl, eq.rec, nat.zero, nat.add, heq, eq.dcases_on, not, nat.has_one, has_one.one, eq, and.dcases_on, nat.succ, _private.221922577.lbp, acc, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (_private.370698095.wf_lbp._match_3, [_private.370698095.wf_lbp._match_2, nat.succ, _private.370698095.wf_lbp._match_1, acc.intro, nat.zero, nat.rec_on, nat.le_add_left, nat.has_add, has_add.add, nat.has_le, has_le.le, id_rhs, Exists.dcases_on, _private.221922577.lbp, acc, Exists, nat]), (_private.394298891.rel, [_private.394298891.rel._proof_1, setoid_has_equiv, has_equiv.equiv, quotient.lift_on₂, quotient, setoid]), (_private.394298891.rel._proof_1, [setoid.symm, setoid.trans, iff.intro, propext, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (_private.4012458029.P, [_private.4012458029.P._main, int, prod, nat]), (_private.4012458029.P._main, [int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, eq, id_rhs, prod.cases_on, int, prod, nat]), (_private.4012458029.P._main.equations._eqn_1, [id_delta, eq.refl, int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, prod, prod.mk, _private.4012458029.P._main, eq, int, nat]), (_private.4012458029.P.equations._eqn_1, [_private.4012458029.P._main.equations._eqn_1, int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, prod, prod.mk, _private.4012458029.P, eq, int, nat]), (_private.4032105389.sub_nat_nat_add_right, [rfl, nat.add_sub_cancel_left, eq.rec, trivial, eq_self_iff_true, propext, has_sub, has_add, add_left_comm, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.refl, congr_arg, congr, id, true, eq.mpr, nat.has_sub, has_sub.sub, int.sub_nat_nat._match_1, eq.trans, int.neg_succ_of_nat, nat.has_one, has_one.one, nat.has_add, has_add.add, int.sub_nat_nat, int, eq, nat]), (_private.4122411079.exU, [rfl, eq, or.inl, true, Exists.intro, _private.1333942017.U, Exists]), (_private.4130982363.u_def, [_private.4122411079.exU, classical.some_spec, _private.712932267.u, _private.1333942017.U]), (_private.4157647225.pow_injective_aux, [not_false_iff, ne.symm, iff_false_intro, nat.add_monoid, zero_add, nat.sub_eq_iff_eq_add, ne.def, false, not, nat.pos_of_ne_zero, trivial, eq_self_iff_true, propext, mul_right_inv, has_inv, eq.refl, has_mul, pow_sub, group.to_has_inv, has_inv.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, congr_arg, congr, eq.trans, id, true, eq.mpr, Exists.intro, exists_pow_eq_one, nat.decidable_lt, exists_prop_decidable, Exists, nat.find_min', nat.lt_add_left, nat.sub_lt_left_iff_lt_add, nat.has_add, has_add.add, iff.mpr, lt_of_le_of_lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, monoid.to_has_one, has_one.one, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, gt, ne, nat.decidable_eq, decidable.by_contradiction, group.to_monoid, monoid.has_pow, has_pow.pow, eq, order_of, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, nat, decidable_eq, fintype, group]), (_private.4200380403.sub_nat_nat_add_left, [nat.add_sub_cancel_left, nat.le_add_right, nat.sub_eq_zero_of_le, eq.refl, eq.rec, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, int.sub_nat_nat._match_1, eq.mpr, id, int.of_nat, nat.has_add, has_add.add, int.sub_nat_nat, int, eq, nat]), (_private.426554279.div.F, [nat.zero, not, nat.has_one, has_one.one, _private.2399796771.div_rec_lemma, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, and, dite, nat.has_lt, has_lt.lt, nat]), (_private.4294557591.nonneg.elim, [int.neg_succ_of_nat, false.elim, rfl, exists.intro, int.of_nat, int.cases_on, int.has_coe, coe_base, coe_to_lift, coe, eq, nat, Exists, _private.512557913.nonneg, int]), (_private.512557913.nonneg, [false, true, nat, int.cases_on, int]), (_private.546038685.card_order_of_eq_totient_aux, [and.left, and.right, nat.div_div_self, nat.div_dvd_of_dvd, nat.gcd_eq_right, order_of_pow, nat.gcd, finset.mem_univ, nat.has_div, has_div.div, finset.ne_empty_of_mem, dvd.trans, nat.sizeof.equations._eqn_1, has_lt, nat.sizeof, sizeof, sizeof_measure, and.elim_right, imp_congr_ctx_eq, or_iff_not_imp_left, and.intro, or.dcases_on, and_imp, imp_congr_eq, and_self, or_true, true_or, eq_self_iff_true, nat.succ.inj_eq, finset.insert.comm, has_insert, finset.range_succ, has_mem, finset.mem_insert, or, or.elim, iff.intro, iff.mpr, nat.sum_totient, ordered_comm_monoid.to_add_comm_monoid, finite_field.card_pow_eq_one_eq_order_of, eq.subst, nat.succ_pos, sum_card_order_of_eq_card_pow_eq_one, rfl, finset.sum_congr, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, le_refl, not_lt, preorder.to_has_lt, and_true, dvd_refl, iff_true_intro, comm_semiring, finset.mem_range, finset.mem_filter, and, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.sum_insert, eq.symm, units.has_one, group.to_monoid, monoid.has_pow, has_pow.pow, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, finset.has_insert, insert, finset.range, nat.decidable_dvd, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, finset.sum, nat.succ, Exists.dcases_on, finset.exists_mem_of_ne_empty, Exists, nat.has_one, has_one.one, nat.has_add, has_add.add, trivial, not_false_iff, not_true, forall_true_iff, iff_self, finset.not_mem_empty, forall_congr_eq, finset.ext, finset.has_mem, has_mem.mem, iff, ne.def, finset.filter_false, eq.refl, eq.drec, order_of_pos, nat.pos_iff_ne_zero, gt, iff_false_intro, propext, funext, decidable_pred, eq.rec, congr, congr_arg, false, eq.trans, id, true, not, eq.mpr, finset.card_pos, iff.mp, finset.has_emptyc, has_emptyc.emptyc, finset, ne, mt, absurd, id_rhs, nat.cases_on, has_well_founded.wf, nat.has_sizeof, has_well_founded_of_has_sizeof, has_well_founded.r, well_founded.fix, nat.totient, finset.univ, nat.decidable_eq, units.decidable_eq, units.group, order_of, eq, finset.filter, finset.card, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, finite_field.fintype, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, fintype.card, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat, decidable_eq, fintype, field]), (_private.559890893.sub_nat_nat_add_add, [_private.4032105389.sub_nat_nat_add_right, int.neg_succ_of_nat, nat.has_one, has_one.one, trivial, eq_self_iff_true, propext, add_left_comm, add_comm, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, true, _private.4200380403.sub_nat_nat_add_left, eq.refl, eq.rec, id, int.of_nat, eq.mpr, int.sub_nat_nat_elim, nat.has_add, has_add.add, int.sub_nat_nat, int, eq, nat]), (_private.642580405.p_implies_uv, [or.inr, iff.intro, propext, false, true, or, funext, rfl, eq.subst, _private.703956875.exV, _private.4122411079.exU, classical.some, Exists, _private.2108828515.V, _private.1333942017.U, _private.3051313149.v, _private.712932267.u, eq]), (_private.664069189.fun_setoid, [function.equiv.is_equivalence, function.equiv, setoid.mk, setoid]), (_private.703956875.exV, [rfl, eq, or.inl, false, Exists.intro, _private.2108828515.V, Exists]), (_private.712932267.u, [_private.4122411079.exU, _private.1333942017.U, classical.some]), (abs, [decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, decidable_linear_ordered_comm_group.to_decidable_linear_order, max, decidable_linear_ordered_comm_group]), (abs.equations._eqn_1, [eq.refl, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, decidable_linear_ordered_comm_group.to_decidable_linear_order, max, abs, eq, decidable_linear_ordered_comm_group]), (abs_by_cases, [abs_of_nonpos, abs_of_nonneg, eq.symm, eq.subst, le_total, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_decidable_linear_order, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or.elim, abs, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, decidable_linear_ordered_comm_group]), (abs_neg, [neg_neg, max_comm, eq.refl, eq.rec, abs.equations._eqn_1, congr_arg, congr, id, decidable_linear_ordered_comm_group.to_decidable_linear_order, max, eq.mpr, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, abs, eq, decidable_linear_ordered_comm_group]), (abs_of_nonneg, [neg_nonpos_of_nonneg, ordered_comm_group.to_add_comm_group, le_trans, decidable_linear_ordered_comm_group.to_decidable_linear_order, max_eq_left, add_group.to_has_neg, has_neg.neg, has_le.le, abs, eq, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, decidable_linear_ordered_comm_group]), (abs_of_nonpos, [neg_nonneg_of_nonpos, le_trans, decidable_linear_ordered_comm_group.to_decidable_linear_order, max_eq_right, add_group.to_has_neg, has_neg.neg, abs, eq, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_group]), (abs_of_pos, [le_of_lt, abs_of_nonneg, abs, eq, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, decidable_linear_ordered_comm_group]), (abs_pos_of_ne_zero, [abs_pos_of_pos, abs_pos_of_neg, lt_or_gt_of_ne, decidable_linear_ordered_comm_group.to_decidable_linear_order, decidable_linear_order.to_linear_order, linear_order.to_partial_order, has_lt.lt, or.elim, abs, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ne, decidable_linear_ordered_comm_group]), (abs_pos_of_neg, [neg_pos_of_neg, abs_pos_of_pos, abs_neg, add_group.to_has_neg, has_neg.neg, eq.subst, abs, gt, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_comm_group]), (abs_pos_of_pos, [abs_of_pos, eq.refl, eq.rec, eq, id, eq.mpr, abs, decidable_linear_ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, decidable_linear_ordered_comm_group]), (absurd, [false.rec, not]), (acc, []), (acc.drec, [acc.rec, acc.intro, acc]), (acc.intro, [acc]), (acc.inv, [acc.rec_on, acc]), (acc.rec, [acc]), (acc.rec_on, [acc.rec, acc]), (add_assoc, [add_semigroup.add_assoc, add_semigroup.to_has_add, has_add.add, eq, add_semigroup]), (add_comm, [add_comm_semigroup.add_comm, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_semigroup]), (add_comm_group, []), (add_comm_group.add, [add_comm_group]), (add_comm_group.add_assoc, [add_comm_group.add, has_add.mk, has_add.add, eq, add_comm_group]), (add_comm_group.add_comm, [add_comm_group.add_assoc, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_group]), (add_comm_group.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, add_comm_group.neg, has_neg.mk, has_neg.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, add_comm_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_group]), (add_comm_group.add_zero, [add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_group]), (add_comm_group.mk, [add_comm_group, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_comm_group.neg, [add_comm_group]), (add_comm_group.to_add_comm_monoid, [add_comm_group.add_comm, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, add_comm_group.add, add_comm_monoid.mk, add_comm_monoid, add_comm_group]), (add_comm_group.to_add_group, [add_comm_group.add_left_neg, add_comm_group.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, add_comm_group.add, add_group.mk, add_group, add_comm_group]), (add_comm_group.zero, [add_comm_group]), (add_comm_group.zero_add, [add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_group]), (add_comm_monoid, []), (add_comm_monoid.add, [add_comm_monoid]), (add_comm_monoid.add_assoc, [add_comm_monoid.add, has_add.mk, has_add.add, eq, add_comm_monoid]), (add_comm_monoid.add_comm, [add_comm_monoid.add_assoc, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid]), (add_comm_monoid.add_zero, [add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid]), (add_comm_monoid.mk, [add_comm_monoid, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_comm_monoid.to_add_comm_semigroup, [add_comm_monoid.add_comm, add_comm_monoid.add_assoc, add_comm_monoid.add, add_comm_semigroup.mk, add_comm_semigroup, add_comm_monoid]), (add_comm_monoid.to_add_monoid, [add_comm_monoid.add_zero, add_comm_monoid.zero_add, add_comm_monoid.zero, add_comm_monoid.add_assoc, add_comm_monoid.add, add_monoid.mk, add_monoid, add_comm_monoid]), (add_comm_monoid.zero, [add_comm_monoid]), (add_comm_monoid.zero_add, [add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid]), (add_comm_semigroup, []), (add_comm_semigroup.add, [add_comm_semigroup]), (add_comm_semigroup.add_assoc, [add_comm_semigroup.add, has_add.mk, has_add.add, eq, add_comm_semigroup]), (add_comm_semigroup.add_comm, [add_comm_semigroup.add_assoc, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_semigroup]), (add_comm_semigroup.mk, [add_comm_semigroup, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_comm_semigroup.to_add_semigroup, [add_comm_semigroup.add_assoc, add_comm_semigroup.add, add_semigroup.mk, add_semigroup, add_comm_semigroup]), (add_comm_semigroup_to_is_commutative, [add_comm, is_commutative.mk, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, is_commutative, add_comm_semigroup]), (add_group, []), (add_group.add, [add_group]), (add_group.add_assoc, [add_group.add, has_add.mk, has_add.add, eq, add_group]), (add_group.add_left_cancel, [trivial, eq_self_iff_true, propext, true, neg_add_cancel_left, has_add, eq.trans, congr_arg, congr, eq.mp, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_group.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, add_group.neg, has_neg.mk, has_neg.neg, add_group.add_zero, add_group.zero_add, add_group.zero, add_group.add_assoc, add_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_group.add_right_cancel, [trivial, eq_self_iff_true, propext, true, add_zero, add_right_neg, add_assoc, has_add, add_monoid.to_has_zero, has_zero.zero, eq.trans, congr_arg, congr, eq.mp, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_group.add_zero, [add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_group.mk, [add_group, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_group.neg, [add_group]), (add_group.to_add_monoid, [add_group.add_zero, add_group.zero_add, add_group.zero, add_group.add_assoc, add_group.add, add_monoid.mk, add_monoid, add_group]), (add_group.to_has_neg, [add_group.neg, has_neg.mk, has_neg, add_group]), (add_group.to_left_cancel_add_semigroup, [add_group.add_left_cancel, add_group.add_assoc, add_group.add, add_left_cancel_semigroup.mk, add_left_cancel_semigroup, add_group]), (add_group.to_right_cancel_add_semigroup, [add_group.add_right_cancel, add_group.add_assoc, add_group.add, add_right_cancel_semigroup.mk, add_right_cancel_semigroup, add_group]), (add_group.zero, [add_group]), (add_group.zero_add, [add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_group_has_sub, [algebra.sub, has_sub.mk, has_sub, add_group]), (add_le_add', [add_le_add_left', add_le_add_right', le_trans, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_monoid]), (add_le_add, [add_le_add_left, add_le_add_right, le_trans, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (add_le_add_iff_left, [add_le_add_left, le_of_add_le_add_left, iff.intro, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, ordered_cancel_comm_monoid]), (add_le_add_iff_right, [add_le_add_iff_left, add_comm, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.subst, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, ordered_cancel_comm_monoid]), (add_le_add_left', [ordered_comm_monoid.add_le_add_left, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_monoid]), (add_le_add_left, [ordered_cancel_comm_monoid.add_le_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (add_le_add_right', [add_le_add_left', add_comm, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.subst, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_monoid]), (add_le_add_right, [add_le_add_left, add_comm, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.subst, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (add_left_cancel, [add_left_cancel_semigroup.add_left_cancel, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_left_cancel_semigroup]), (add_left_cancel_iff, [congr_arg, add_left_cancel, iff.intro, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, iff, add_left_cancel_semigroup]), (add_left_cancel_semigroup, []), (add_left_cancel_semigroup.add, [add_left_cancel_semigroup]), (add_left_cancel_semigroup.add_assoc, [add_left_cancel_semigroup.add, has_add.mk, has_add.add, eq, add_left_cancel_semigroup]), (add_left_cancel_semigroup.add_left_cancel, [add_left_cancel_semigroup.add_assoc, add_left_cancel_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_left_cancel_semigroup]), (add_left_cancel_semigroup.mk, [add_left_cancel_semigroup, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_left_cancel_semigroup.to_add_semigroup, [add_left_cancel_semigroup.add_assoc, add_left_cancel_semigroup.add, add_semigroup.mk, add_semigroup, add_left_cancel_semigroup]), (add_left_comm, [add_assoc, add_comm, left_comm, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_semigroup]), (add_left_inj, [congr_arg, add_left_cancel, iff.intro, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, iff, add_left_cancel_semigroup]), (add_left_neg, [add_group.add_left_neg, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_lt_add, [add_lt_add_left, add_lt_add_right, lt_trans, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_cancel_comm_monoid]), (add_lt_add_iff_left, [add_lt_add_left, lt_of_add_lt_add_left, iff.intro, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, ordered_cancel_comm_monoid]), (add_lt_add_left, [not_le_of_gt, le_of_add_le_add_left, preorder.to_has_le, has_le.le, mt, le_of_lt, add_le_add_left, lt_of_le_not_le, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_cancel_comm_monoid]), (add_lt_add_right, [add_lt_add_left, add_comm, eq.refl, eq.rec, eq, id, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.mpr, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_cancel_comm_monoid]), (add_monoid, []), (add_monoid.add, [add_monoid]), (add_monoid.add_assoc, [add_monoid.add, has_add.mk, has_add.add, eq, add_monoid]), (add_monoid.add_zero, [add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid]), (add_monoid.mk, [add_monoid, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_monoid.smul, [multiplicative.monoid, multiplicative, monoid.pow, nat, add_monoid]), (add_monoid.smul_zero, [add_zero, has_add, succ_smul, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, add_monoid.zero_smul, eq.refl, nat.nat_zero_eq_zero, nat.has_zero, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, add_monoid.to_has_zero, has_zero.zero, add_monoid.smul, eq, nat, add_monoid]), (add_monoid.to_add_semigroup, [add_monoid.add_assoc, add_monoid.add, add_semigroup.mk, add_semigroup, add_monoid]), (add_monoid.to_has_zero, [add_monoid.zero, has_zero.mk, has_zero, add_monoid]), (add_monoid.zero, [add_monoid]), (add_monoid.zero_add, [add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid]), (add_monoid.zero_smul, [rfl, add_monoid.to_has_zero, nat.has_zero, nat, has_zero.zero, add_monoid.smul, eq, add_monoid]), (add_mul, [right_distrib, distrib.to_has_add, has_add.add, distrib.to_has_mul, has_mul.mul, eq, distrib]), (add_neg_cancel_left, [zero_add, add_right_neg, add_monoid.to_has_zero, has_zero.zero, add_assoc, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_neg_cancel_right, [add_zero, add_right_neg, add_monoid.to_has_zero, has_zero.zero, add_assoc, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_right_cancel, [add_right_cancel_semigroup.add_right_cancel, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_right_cancel_semigroup]), (add_right_cancel_semigroup, []), (add_right_cancel_semigroup.add, [add_right_cancel_semigroup]), (add_right_cancel_semigroup.add_assoc, [add_right_cancel_semigroup.add, has_add.mk, has_add.add, eq, add_right_cancel_semigroup]), (add_right_cancel_semigroup.add_right_cancel, [add_right_cancel_semigroup.add_assoc, add_right_cancel_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_right_cancel_semigroup]), (add_right_cancel_semigroup.mk, [add_right_cancel_semigroup, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (add_right_cancel_semigroup.to_add_semigroup, [add_right_cancel_semigroup.add_assoc, add_right_cancel_semigroup.add, add_semigroup.mk, add_semigroup, add_right_cancel_semigroup]), (add_right_comm, [add_assoc, add_comm, right_comm, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_semigroup]), (add_right_inj, [congr_arg, add_right_cancel, iff.intro, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, iff, add_right_cancel_semigroup]), (add_right_neg, [add_left_neg, id, eq.mpr, neg_neg, eq.refl, eq.rec, eq.mp, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (add_semigroup, []), (add_semigroup.add, [add_semigroup]), (add_semigroup.add_assoc, [add_semigroup.add, has_add.mk, has_add.add, eq, add_semigroup]), (add_semigroup.mk, [add_semigroup, has_add.mk, has_add.add, eq]), (add_semigroup.to_has_add, [add_semigroup.add, has_add.mk, has_add, add_semigroup]), (add_semigroup_to_is_associative, [add_assoc, is_associative.mk, add_semigroup.to_has_add, has_add.add, is_associative, add_semigroup]), (add_smul, [module.add_smul, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, ring.to_distrib, distrib.to_has_add, has_add.add, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (add_sub_add_left_eq_sub, [trivial, eq_self_iff_true, propext, add_zero, add_right_neg, add_monoid.to_has_zero, has_zero.zero, add_left_comm, neg_add_rev, eq.refl, has_add, sub_eq_add_neg, add_comm, has_sub, add_comm_group.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, congr_arg, congr, add_group.to_has_neg, has_neg.neg, eq.trans, id, true, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq, add_comm_group]), (add_sub_add_right_eq_sub, [trivial, eq_self_iff_true, propext, add_zero, add_right_neg, has_add, add_assoc, sub_eq_add_neg, add_monoid.to_has_zero, has_zero.zero, has_sub, congr_arg, congr, add_group.to_has_neg, has_neg.neg, eq.trans, true, sub_add_eq_sub_sub_swap, eq.refl, eq.rec, id, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, eq, add_group]), (add_zero, [add_monoid.add_zero, add_monoid.to_has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_monoid]), (additive, []), (additive.add_comm_monoid, [additive.add_comm_monoid._proof_4, additive.add_comm_monoid._proof_3, additive.add_comm_monoid._proof_2, add_monoid.zero, additive.add_comm_monoid._proof_1, comm_monoid.to_monoid, additive.add_monoid, add_monoid.add, add_comm_monoid.mk, additive, add_comm_monoid, comm_monoid]), (additive.add_comm_monoid._proof_1, [add_monoid.add_assoc, comm_monoid.to_monoid, additive.add_monoid, add_monoid.add, has_add.mk, has_add.add, eq, additive, comm_monoid]), (additive.add_comm_monoid._proof_2, [add_monoid.zero_add, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, comm_monoid.to_monoid, additive.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, additive, comm_monoid]), (additive.add_comm_monoid._proof_3, [add_monoid.add_zero, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, comm_monoid.to_monoid, additive.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, additive, comm_monoid]), (additive.add_comm_monoid._proof_4, [mul_comm, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid]), (additive.add_comm_semigroup, [additive.add_comm_semigroup._proof_2, additive.add_comm_semigroup._proof_1, comm_semigroup.to_semigroup, additive.add_semigroup, add_semigroup.add, add_comm_semigroup.mk, additive, add_comm_semigroup, comm_semigroup]), (additive.add_comm_semigroup._proof_1, [add_semigroup.add_assoc, comm_semigroup.to_semigroup, additive.add_semigroup, add_semigroup.add, has_add.mk, has_add.add, eq, additive, comm_semigroup]), (additive.add_comm_semigroup._proof_2, [mul_comm, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, additive, comm_semigroup]), (additive.add_monoid, [additive.add_monoid._proof_3, additive.add_monoid._proof_2, monoid.to_has_one, has_one.one, additive.add_monoid._proof_1, monoid.to_semigroup, additive.add_semigroup, add_semigroup.add, add_monoid.mk, additive, add_monoid, monoid]), (additive.add_monoid._proof_1, [add_semigroup.add_assoc, monoid.to_semigroup, additive.add_semigroup, add_semigroup.add, has_add.mk, has_add.add, eq, additive, monoid]), (additive.add_monoid._proof_2, [one_mul, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, additive, monoid]), (additive.add_monoid._proof_3, [mul_one, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, additive, monoid]), (additive.add_semigroup, [additive.add_semigroup._proof_1, semigroup.to_has_mul, has_mul.mul, add_semigroup.mk, additive, add_semigroup, semigroup]), (additive.add_semigroup._proof_1, [mul_assoc, semigroup.to_has_mul, has_mul.mul, eq, additive, semigroup]), (algebra.div, [division_ring.to_has_inv, has_inv.inv, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, division_ring]), (algebra.sub, [add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group]), (and, []), (and.assoc, [and.intro, id_rhs, and.dcases_on, iff.intro, and, iff]), (and.comm, [and.swap, iff.intro, and, iff]), (and.dcases_on, [and.rec, and.intro, and]), (and.decidable, [and.decidable._proof_2, and.decidable._proof_1, decidable.is_false, not, and.intro, decidable.is_true, dite, and, decidable]), (and.decidable._proof_1, [and.right, false, and, not]), (and.decidable._proof_2, [and.left, false, and, not]), (and.elim, [and.rec, and]), (and.elim_left, [and.left, and]), (and.elim_right, [and.right, and]), (and.imp, [and.intro, id_rhs, and.dcases_on, and]), (and.imp_right, [id, and.imp, and]), (and.intro, [and]), (and.left, [and]), (and.left_comm, [iff.refl, and.comm, and_congr, and.assoc, iff.symm, iff.trans, and, iff]), (and.rec, [and]), (and.right, [and]), (and.swap, [and.intro, id_rhs, and.dcases_on, and]), (and_assoc, [and.assoc, and, iff]), (and_comm, [and.comm, and, iff]), (and_congr, [iff.mpr, iff.mp, and.imp, iff.intro, and, iff]), (and_congr_right, [iff.elim_right, iff.elim_left, and.intro, id_rhs, and.dcases_on, iff.intro, and, iff]), (and_eq_of_eq_false_right, [and_false, propext, eq.symm, eq.subst, and, false, eq]), (and_eq_of_eq_true_right, [and_true, propext, eq.symm, eq.subst, and, true, eq]), (and_false, [and.right, iff_false_intro, false, and, iff]), (and_iff_left, [and.intro, and.left, iff.intro, and, iff]), (and_iff_right, [and.intro, and.right, iff.intro, and, iff]), (and_imp, [id_rhs, and.dcases_on, and.intro, iff.intro, and, iff]), (and_or_distrib_left, [or.inr, or.inl, and.imp_right, or.rec, and.intro, or.imp, id_rhs, and.dcases_on, iff.intro, or, and, iff]), (and_self, [and.intro, and.left, iff.intro, and, iff]), (and_true, [trivial, and_iff_left, true, and, iff]), (arbitrary, [default, inhabited]), (as_true, [false, true, ite, decidable]), (associative, [eq]), (auto.classical.implies_iff_not_or, [classical.prop_decidable, imp_iff_not_or, not, or, iff]), (auto.not_and_eq, [classical.prop_decidable, not_and_distrib, propext, or, and, not, eq]), (auto.not_not_eq, [classical.prop_decidable, not_not, propext, not, eq]), (auto.not_or_eq, [not_or_distrib, propext, and, or, not, eq]), (auto_param, [name]), (ball.imp_left, []), (ball.imp_right, []), (band, [band._main, bool]), (band._main, [bool.tt, bool.ff, id_rhs, bool.cases_on, bool]), (band_coe_iff, [trivial, and.decidable, bool.tt, bool.decidable_eq, iff.decidable, of_as_true, bool.ff, bool.cases_on, and, band, coe_sort_bool, coe_sort, iff, bool]), (bex_def, [and.dcases_on, and.intro, Exists.intro, id_rhs, Exists.dcases_on, iff.intro, and, Exists, iff]), (bex_imp_distrib, [trivial, iff_self, eq.refl, forall_congr_eq, exists_imp_distrib, propext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, Exists, iff]), (bit0, [has_add.add, has_add]), (bool, []), (bool.cases_on, [bool.rec, bool.tt, bool.ff, bool]), (bool.coe_sort_ff, [bool.ff_ne_tt, eq_false_intro, false, bool.ff, coe_sort, coe_sort_bool, bool, has_coe_to_sort.S, eq]), (bool.coe_sort_tt, [rfl, eq_true_intro, true, bool.tt, coe_sort, coe_sort_bool, bool, has_coe_to_sort.S, eq]), (bool.decidable_eq, [bool.decidable_eq._main, bool, decidable_eq]), (bool.decidable_eq._main, [ne.symm, bool.ff_ne_tt, decidable.is_false, bool.tt, rfl, decidable.is_true, id_rhs, bool.ff, eq, decidable, bool.cases_on, bool, decidable_eq]), (bool.ff, [bool]), (bool.ff_ne_tt, [heq.refl, eq.refl, bool.no_confusion, heq, eq.dcases_on, false, bool.tt, bool.ff, bool, eq]), (bool.no_confusion, [bool.cases_on, eq.rec, bool.no_confusion_type, eq, bool]), (bool.no_confusion_type, [bool.cases_on, bool]), (bool.of_to_bool_iff, [to_bool_true, of_to_bool_true, iff.intro, decidable.to_bool, coe_sort_bool, bool, coe_sort, iff, decidable]), (bool.rec, [bool.tt, bool.ff, bool]), (bool.tt, [bool]), (bor, [bor._main, bool]), (bor._main, [bool.tt, bool.ff, id_rhs, bool.cases_on, bool]), (bor_coe_iff, [trivial, or.decidable, bool.tt, bool.decidable_eq, iff.decidable, of_as_true, bool.ff, bool.cases_on, or, bor, coe_sort_bool, coe_sort, iff, bool]), (by_contradiction, [decidable.by_contradiction, false, not, decidable]), (canonically_ordered_comm_semiring, []), (canonically_ordered_comm_semiring.add, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.add_assoc, [canonically_ordered_comm_semiring.add, has_add.mk, has_add.add, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.add_comm, [canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.add_le_add_left, [canonically_ordered_comm_semiring.add_comm, canonically_ordered_comm_semiring.add_zero, canonically_ordered_comm_semiring.zero_add, canonically_ordered_comm_semiring.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, canonically_ordered_comm_semiring.le_antisymm, canonically_ordered_comm_semiring.lt_iff_le_not_le, canonically_ordered_comm_semiring.le_trans, canonically_ordered_comm_semiring.le_refl, canonically_ordered_comm_semiring.lt, canonically_ordered_comm_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.add_zero, [canonically_ordered_comm_semiring.zero, has_zero.mk, has_zero.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.le, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.le_antisymm, [eq, canonically_ordered_comm_semiring.lt_iff_le_not_le, canonically_ordered_comm_semiring.le_trans, canonically_ordered_comm_semiring.le_refl, canonically_ordered_comm_semiring.lt, canonically_ordered_comm_semiring.le, preorder.mk, preorder.to_has_le, has_le.le, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.le_iff_exists_add, [ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, canonically_ordered_comm_semiring.lt_of_add_lt_add_left, canonically_ordered_comm_semiring.add_le_add_left, canonically_ordered_comm_semiring.le_antisymm, canonically_ordered_comm_semiring.lt_iff_le_not_le, canonically_ordered_comm_semiring.le_trans, canonically_ordered_comm_semiring.le_refl, canonically_ordered_comm_semiring.lt, canonically_ordered_comm_semiring.le, canonically_ordered_comm_semiring.add_comm, canonically_ordered_comm_semiring.add_zero, canonically_ordered_comm_semiring.zero_add, canonically_ordered_comm_semiring.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, ordered_comm_monoid.mk, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.le_refl, [canonically_ordered_comm_semiring.le, has_le.mk, has_le.le, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.le_trans, [canonically_ordered_comm_semiring.le, has_le.mk, has_le.le, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.left_distrib, [canonically_ordered_comm_semiring.add, has_add.mk, has_add.add, canonically_ordered_comm_semiring.mul, has_mul.mk, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.lt, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, canonically_ordered_comm_semiring.le, has_le.mk, has_le.le, and, canonically_ordered_comm_semiring.lt, has_lt.mk, has_lt.lt, iff, auto_param, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.lt_of_add_lt_add_left, [canonically_ordered_comm_semiring.add_comm, canonically_ordered_comm_semiring.add_zero, canonically_ordered_comm_semiring.zero_add, canonically_ordered_comm_semiring.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, canonically_ordered_comm_semiring.le_antisymm, canonically_ordered_comm_semiring.lt_iff_le_not_le, canonically_ordered_comm_semiring.le_trans, canonically_ordered_comm_semiring.le_refl, canonically_ordered_comm_semiring.lt, canonically_ordered_comm_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.mk, [canonically_ordered_comm_semiring, or, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, comm_semiring.mk, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, ne, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, ordered_comm_monoid.to_add_comm_monoid, Exists, ordered_comm_monoid.mk, ordered_comm_monoid.to_partial_order, preorder.to_has_lt, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (canonically_ordered_comm_semiring.mul, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.mul_assoc, [canonically_ordered_comm_semiring.mul, has_mul.mk, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.mul_comm, [canonically_ordered_comm_semiring.mul_assoc, canonically_ordered_comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.mul_one, [canonically_ordered_comm_semiring.one, has_one.mk, has_one.one, canonically_ordered_comm_semiring.mul_assoc, canonically_ordered_comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.mul_zero, [canonically_ordered_comm_semiring.zero, has_zero.mk, has_zero.zero, canonically_ordered_comm_semiring.mul, has_mul.mk, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.one, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.one_mul, [canonically_ordered_comm_semiring.one, has_one.mk, has_one.one, canonically_ordered_comm_semiring.mul_assoc, canonically_ordered_comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.right_distrib, [canonically_ordered_comm_semiring.add, has_add.mk, has_add.add, canonically_ordered_comm_semiring.mul, has_mul.mk, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.to_canonically_ordered_monoid, [canonically_ordered_comm_semiring.le_iff_exists_add, canonically_ordered_comm_semiring.lt_of_add_lt_add_left, canonically_ordered_comm_semiring.add_le_add_left, canonically_ordered_comm_semiring.le_antisymm, canonically_ordered_comm_semiring.lt_iff_le_not_le, canonically_ordered_comm_semiring.le_trans, canonically_ordered_comm_semiring.le_refl, canonically_ordered_comm_semiring.lt, canonically_ordered_comm_semiring.le, canonically_ordered_comm_semiring.add_comm, canonically_ordered_comm_semiring.add_zero, canonically_ordered_comm_semiring.zero_add, canonically_ordered_comm_semiring.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, canonically_ordered_monoid.mk, canonically_ordered_monoid, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.to_comm_semiring, [canonically_ordered_comm_semiring.mul_comm, canonically_ordered_comm_semiring.mul_zero, canonically_ordered_comm_semiring.zero_mul, canonically_ordered_comm_semiring.right_distrib, canonically_ordered_comm_semiring.left_distrib, canonically_ordered_comm_semiring.mul_one, canonically_ordered_comm_semiring.one_mul, canonically_ordered_comm_semiring.one, canonically_ordered_comm_semiring.mul_assoc, canonically_ordered_comm_semiring.mul, canonically_ordered_comm_semiring.add_comm, canonically_ordered_comm_semiring.add_zero, canonically_ordered_comm_semiring.zero_add, canonically_ordered_comm_semiring.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, comm_semiring.mk, comm_semiring, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.to_zero_ne_one_class, [canonically_ordered_comm_semiring.zero_ne_one, canonically_ordered_comm_semiring.one, canonically_ordered_comm_semiring.zero, zero_ne_one_class.mk, zero_ne_one_class, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.zero, [canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.zero_add, [canonically_ordered_comm_semiring.zero, has_zero.mk, has_zero.zero, canonically_ordered_comm_semiring.add_assoc, canonically_ordered_comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.zero_mul, [canonically_ordered_comm_semiring.zero, has_zero.mk, has_zero.zero, canonically_ordered_comm_semiring.mul, has_mul.mk, has_mul.mul, eq, canonically_ordered_comm_semiring]), (canonically_ordered_comm_semiring.zero_ne_one, [canonically_ordered_comm_semiring.one, has_one.mk, has_one.one, canonically_ordered_comm_semiring.zero, has_zero.mk, has_zero.zero, ne, canonically_ordered_comm_semiring]), (canonically_ordered_monoid, []), (canonically_ordered_monoid.add, [canonically_ordered_monoid]), (canonically_ordered_monoid.add_assoc, [canonically_ordered_monoid.add, has_add.mk, has_add.add, eq, canonically_ordered_monoid]), (canonically_ordered_monoid.add_comm, [canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_monoid]), (canonically_ordered_monoid.add_le_add_left, [canonically_ordered_monoid.add_comm, canonically_ordered_monoid.add_zero, canonically_ordered_monoid.zero_add, canonically_ordered_monoid.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, canonically_ordered_monoid.le_antisymm, canonically_ordered_monoid.lt_iff_le_not_le, canonically_ordered_monoid.le_trans, canonically_ordered_monoid.le_refl, canonically_ordered_monoid.lt, canonically_ordered_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, canonically_ordered_monoid]), (canonically_ordered_monoid.add_zero, [canonically_ordered_monoid.zero, has_zero.mk, has_zero.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_monoid]), (canonically_ordered_monoid.le, [canonically_ordered_monoid]), (canonically_ordered_monoid.le_antisymm, [eq, canonically_ordered_monoid.lt_iff_le_not_le, canonically_ordered_monoid.le_trans, canonically_ordered_monoid.le_refl, canonically_ordered_monoid.lt, canonically_ordered_monoid.le, preorder.mk, preorder.to_has_le, has_le.le, canonically_ordered_monoid]), (canonically_ordered_monoid.le_iff_exists_add, [ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, canonically_ordered_monoid.lt_of_add_lt_add_left, canonically_ordered_monoid.add_le_add_left, canonically_ordered_monoid.le_antisymm, canonically_ordered_monoid.lt_iff_le_not_le, canonically_ordered_monoid.le_trans, canonically_ordered_monoid.le_refl, canonically_ordered_monoid.lt, canonically_ordered_monoid.le, canonically_ordered_monoid.add_comm, canonically_ordered_monoid.add_zero, canonically_ordered_monoid.zero_add, canonically_ordered_monoid.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, canonically_ordered_monoid]), (canonically_ordered_monoid.le_refl, [canonically_ordered_monoid.le, has_le.mk, has_le.le, canonically_ordered_monoid]), (canonically_ordered_monoid.le_trans, [canonically_ordered_monoid.le, has_le.mk, has_le.le, canonically_ordered_monoid]), (canonically_ordered_monoid.lt, [canonically_ordered_monoid]), (canonically_ordered_monoid.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, canonically_ordered_monoid.le, has_le.mk, has_le.le, and, canonically_ordered_monoid.lt, has_lt.mk, has_lt.lt, iff, auto_param, canonically_ordered_monoid]), (canonically_ordered_monoid.lt_of_add_lt_add_left, [canonically_ordered_monoid.add_comm, canonically_ordered_monoid.add_zero, canonically_ordered_monoid.zero_add, canonically_ordered_monoid.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, canonically_ordered_monoid.le_antisymm, canonically_ordered_monoid.lt_iff_le_not_le, canonically_ordered_monoid.le_trans, canonically_ordered_monoid.le_refl, canonically_ordered_monoid.lt, canonically_ordered_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, canonically_ordered_monoid]), (canonically_ordered_monoid.mk, [canonically_ordered_monoid, ordered_comm_monoid.to_add_comm_monoid, Exists, ordered_comm_monoid.mk, ordered_comm_monoid.to_partial_order, preorder.to_has_lt, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (canonically_ordered_monoid.to_ordered_comm_monoid, [canonically_ordered_monoid.lt_of_add_lt_add_left, canonically_ordered_monoid.add_le_add_left, canonically_ordered_monoid.le_antisymm, canonically_ordered_monoid.lt_iff_le_not_le, canonically_ordered_monoid.le_trans, canonically_ordered_monoid.le_refl, canonically_ordered_monoid.lt, canonically_ordered_monoid.le, canonically_ordered_monoid.add_comm, canonically_ordered_monoid.add_zero, canonically_ordered_monoid.zero_add, canonically_ordered_monoid.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid, canonically_ordered_monoid]), (canonically_ordered_monoid.zero, [canonically_ordered_monoid]), (canonically_ordered_monoid.zero_add, [canonically_ordered_monoid.zero, has_zero.mk, has_zero.zero, canonically_ordered_monoid.add_assoc, canonically_ordered_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, canonically_ordered_monoid]), (classical.by_cases, [classical.prop_decidable, decidable.by_cases, not]), (classical.by_contradiction, [classical.prop_decidable, decidable.by_contradiction, false, not]), (classical.choice, [nonempty]), (classical.dec_eq, [eq, classical.prop_decidable, decidable_eq]), (classical.dec_pred, [classical.prop_decidable, decidable_pred]), (classical.em, [or.inl, _private.642580405.p_implies_uv, eq, mt, or.inr, _private.1300831855.not_uv_or_p, _private.3051313149.v, _private.712932267.u, ne, or.elim, not, or]), (classical.indefinite_description, [subtype.mk, nonempty.intro, id_rhs, nonempty, Exists.dcases_on, classical.choice, subtype, Exists]), (classical.not_forall, [classical.prop_decidable, not_forall, Exists, not, iff]), (classical.prop_decidable, [classical.prop_decidable._proof_1, classical.choice, decidable]), (classical.prop_decidable._proof_1, [decidable.is_false, decidable.is_true, nonempty.intro, classical.em, not, or.elim, decidable, nonempty]), (classical.some, [classical.indefinite_description, subtype.val, Exists]), (classical.some_spec, [classical.indefinite_description, subtype.property, classical.some, Exists]), (coe, [lift_t, has_lift_t]), (coe_b, [has_coe.coe, has_coe]), (coe_base, [coe_b, has_coe_t.mk, has_coe_t, has_coe]), (coe_coe, [rfl, coe_base, coe_trans, coe_to_lift, coe, eq, has_coe_t, has_coe]), (coe_fn, [has_coe_to_fun.coe, has_coe_to_fun.F, has_coe_to_fun]), (coe_option, [option.some, has_coe_t.mk, option, has_coe_t]), (coe_pnat_nat, [nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.val, has_coe.mk, nat, pnat, has_coe]), (coe_sort, [has_coe_to_sort.coe, has_coe_to_sort.S, has_coe_to_sort]), (coe_sort_bool, [bool.tt, eq, has_coe_to_sort.mk, bool, has_coe_to_sort]), (coe_subtype, [subtype.val, has_coe.mk, subtype, has_coe]), (coe_t, [has_coe_t.coe, has_coe_t]), (coe_to_lift, [coe_t, has_lift_t.mk, has_lift_t, has_coe_t]), (coe_trans, [coe_b, coe_t, has_coe_t.mk, has_coe_t, has_coe]), (comm_group, []), (comm_group.mk, [comm_group, monoid.to_has_one, has_inv.mk, has_inv.inv, monoid.mk, monoid.to_semigroup, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (comm_group.mul, [comm_group]), (comm_group.mul_assoc, [comm_group.mul, has_mul.mk, has_mul.mul, eq, comm_group]), (comm_group.mul_comm, [comm_group.mul_assoc, comm_group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_group]), (comm_group.mul_one, [comm_group.one, has_one.mk, has_one.one, comm_group.mul_assoc, comm_group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_group]), (comm_group.one, [comm_group]), (comm_group.one_mul, [comm_group.one, has_one.mk, has_one.one, comm_group.mul_assoc, comm_group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_group]), (comm_group.to_comm_monoid, [comm_group.mul_comm, comm_group.mul_one, comm_group.one_mul, comm_group.one, comm_group.mul_assoc, comm_group.mul, comm_monoid.mk, comm_monoid, comm_group]), (comm_monoid, []), (comm_monoid.mk, [comm_monoid, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (comm_monoid.mul, [comm_monoid]), (comm_monoid.mul_assoc, [comm_monoid.mul, has_mul.mk, has_mul.mul, eq, comm_monoid]), (comm_monoid.mul_comm, [comm_monoid.mul_assoc, comm_monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid]), (comm_monoid.mul_one, [comm_monoid.one, has_one.mk, has_one.one, comm_monoid.mul_assoc, comm_monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid]), (comm_monoid.one, [comm_monoid]), (comm_monoid.one_mul, [comm_monoid.one, has_one.mk, has_one.one, comm_monoid.mul_assoc, comm_monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid]), (comm_monoid.to_comm_semigroup, [comm_monoid.mul_comm, comm_monoid.mul_assoc, comm_monoid.mul, comm_semigroup.mk, comm_semigroup, comm_monoid]), (comm_monoid.to_monoid, [comm_monoid.mul_one, comm_monoid.one_mul, comm_monoid.one, comm_monoid.mul_assoc, comm_monoid.mul, monoid.mk, monoid, comm_monoid]), (comm_ring, []), (comm_ring.add, [comm_ring]), (comm_ring.add_assoc, [comm_ring.add, has_add.mk, has_add.add, eq, comm_ring]), (comm_ring.add_comm, [comm_ring.add_assoc, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring]), (comm_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, comm_ring.neg, has_neg.mk, has_neg.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, comm_ring]), (comm_ring.add_zero, [comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring]), (comm_ring.left_distrib, [comm_ring.add, has_add.mk, has_add.add, comm_ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring]), (comm_ring.mk, [comm_ring, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (comm_ring.mul, [comm_ring]), (comm_ring.mul_assoc, [comm_ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring]), (comm_ring.mul_comm, [comm_ring.mul_assoc, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_ring]), (comm_ring.mul_one, [comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_ring]), (comm_ring.neg, [comm_ring]), (comm_ring.one, [comm_ring]), (comm_ring.one_mul, [comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_ring]), (comm_ring.right_distrib, [comm_ring.add, has_add.mk, has_add.add, comm_ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring]), (comm_ring.to_comm_semigroup, [comm_ring.mul_comm, comm_ring.mul_assoc, comm_ring.mul, comm_semigroup.mk, comm_semigroup, comm_ring]), (comm_ring.to_comm_semiring, [comm_ring.mul_comm, comm_ring.to_comm_semiring._proof_2, comm_ring.to_comm_semiring._proof_1, comm_ring.right_distrib, comm_ring.left_distrib, comm_ring.mul_one, comm_ring.one_mul, comm_ring.one, comm_ring.mul_assoc, comm_ring.mul, comm_ring.add_comm, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, comm_ring.add, comm_semiring.mk, comm_semiring, comm_ring]), (comm_ring.to_comm_semiring._proof_1, [zero_mul, mul_zero_class.to_has_zero, has_zero.zero, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, comm_ring]), (comm_ring.to_comm_semiring._proof_2, [mul_zero, mul_zero_class.to_has_zero, has_zero.zero, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, comm_ring]), (comm_ring.to_ring, [comm_ring.right_distrib, comm_ring.left_distrib, comm_ring.mul_one, comm_ring.one_mul, comm_ring.one, comm_ring.mul_assoc, comm_ring.mul, comm_ring.add_comm, comm_ring.add_left_neg, comm_ring.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, comm_ring.add, ring.mk, ring, comm_ring]), (comm_ring.zero, [comm_ring]), (comm_ring.zero_add, [comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring]), (comm_semigroup, []), (comm_semigroup.mk, [comm_semigroup, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (comm_semigroup.mul, [comm_semigroup]), (comm_semigroup.mul_assoc, [comm_semigroup.mul, has_mul.mk, has_mul.mul, eq, comm_semigroup]), (comm_semigroup.mul_comm, [comm_semigroup.mul_assoc, comm_semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semigroup]), (comm_semigroup.to_semigroup, [comm_semigroup.mul_assoc, comm_semigroup.mul, semigroup.mk, semigroup, comm_semigroup]), (comm_semigroup_to_is_commutative, [mul_comm, is_commutative.mk, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, is_commutative, comm_semigroup]), (comm_semiring, []), (comm_semiring.add, [comm_semiring]), (comm_semiring.add_assoc, [comm_semiring.add, has_add.mk, has_add.add, eq, comm_semiring]), (comm_semiring.add_comm, [comm_semiring.add_assoc, comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring]), (comm_semiring.add_zero, [comm_semiring.zero, has_zero.mk, has_zero.zero, comm_semiring.add_assoc, comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring]), (comm_semiring.left_distrib, [comm_semiring.add, has_add.mk, has_add.add, comm_semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring]), (comm_semiring.mk, [comm_semiring, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (comm_semiring.mul, [comm_semiring]), (comm_semiring.mul_assoc, [comm_semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring]), (comm_semiring.mul_comm, [comm_semiring.mul_assoc, comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring]), (comm_semiring.mul_one, [comm_semiring.one, has_one.mk, has_one.one, comm_semiring.mul_assoc, comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring]), (comm_semiring.mul_zero, [comm_semiring.zero, has_zero.mk, has_zero.zero, comm_semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring]), (comm_semiring.one, [comm_semiring]), (comm_semiring.one_mul, [comm_semiring.one, has_one.mk, has_one.one, comm_semiring.mul_assoc, comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring]), (comm_semiring.right_distrib, [comm_semiring.add, has_add.mk, has_add.add, comm_semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring]), (comm_semiring.to_comm_monoid, [comm_semiring.mul_comm, comm_semiring.mul_one, comm_semiring.one_mul, comm_semiring.one, comm_semiring.mul_assoc, comm_semiring.mul, comm_monoid.mk, comm_monoid, comm_semiring]), (comm_semiring.to_semiring, [comm_semiring.mul_zero, comm_semiring.zero_mul, comm_semiring.right_distrib, comm_semiring.left_distrib, comm_semiring.mul_one, comm_semiring.one_mul, comm_semiring.one, comm_semiring.mul_assoc, comm_semiring.mul, comm_semiring.add_comm, comm_semiring.add_zero, comm_semiring.zero_add, comm_semiring.zero, comm_semiring.add_assoc, comm_semiring.add, semiring.mk, semiring, comm_semiring]), (comm_semiring.zero, [comm_semiring]), (comm_semiring.zero_add, [comm_semiring.zero, has_zero.mk, has_zero.zero, comm_semiring.add_assoc, comm_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring]), (comm_semiring.zero_mul, [comm_semiring.zero, has_zero.mk, has_zero.zero, comm_semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring]), (comm_semiring_has_dvd, [comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, Exists, has_dvd.mk, has_dvd, comm_semiring]), (commutative, [eq]), (congr, [rfl, eq.subst, eq]), (congr_arg, [rfl, congr, eq]), (congr_fun, [eq.refl, eq.subst, eq]), (dec_em, [decidable.em, not, or, decidable]), (decidable, []), (decidable.by_cases, [dite, not, decidable]), (decidable.by_contradiction, [false.rec, dite, false, not, decidable]), (decidable.cases_on, [decidable.rec, decidable.is_true, decidable.is_false, not, decidable]), (decidable.em, [or.inr, or.inl, decidable.by_cases, not, or, decidable]), (decidable.false, [not_false, decidable.is_false, false, decidable]), (decidable.is_false, [decidable, not]), (decidable.is_true, [decidable]), (decidable.rec, [decidable.is_true, decidable.is_false, not, decidable]), (decidable.rec_on, [decidable.rec, decidable.is_true, decidable.is_false, not, decidable]), (decidable.subsingleton, [decidable.subsingleton._match_1, subsingleton.intro, decidable, subsingleton]), (decidable.subsingleton._match_1, [decidable.subsingleton._match_2, decidable.is_true, decidable.subsingleton._match_3, decidable.is_false, id_rhs, not, decidable.cases_on, eq, decidable]), (decidable.subsingleton._match_2, [rfl, proof_irrel, eq.rec_on, absurd, decidable.is_false, id_rhs, not, decidable.cases_on, decidable.is_true, eq, decidable]), (decidable.subsingleton._match_3, [absurd, decidable.is_true, rfl, proof_irrel, eq.rec_on, id_rhs, decidable.cases_on, decidable.is_false, eq, decidable, not]), (decidable.to_bool, [bool.tt, bool.ff, not, decidable.cases_on, bool, decidable]), (decidable.true, [trivial, decidable.is_true, true, decidable]), (decidable_eq, [eq, decidable_rel]), (decidable_eq_of_decidable_le, [decidable_eq_of_decidable_le._main, decidable_eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, partial_order]), (decidable_eq_of_decidable_le._main, [le_refl, eq.subst, decidable.is_false, not, le_antisymm, decidable.is_true, dite, eq, decidable, id_rhs, decidable_eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, partial_order]), (decidable_gpowers, [finset.decidable_mem, decidable_gpowers._proof_1, order_of, finset.range, group.to_monoid, monoid.has_pow, has_pow.pow, nat, finset.image, finset.has_mem, finset, has_mem.mem, decidable_of_iff', gpowers, decidable_pred, decidable_eq, fintype, group]), (decidable_gpowers._proof_1, [mem_gpowers_iff_mem_range_order_of, order_of, finset.range, group.to_monoid, monoid.has_pow, has_pow.pow, nat, finset.image, finset.has_mem, finset, gpowers, set.has_mem, set, has_mem.mem, iff, decidable_eq, fintype, group]), (decidable_linear_order, []), (decidable_linear_order.decidable_eq, [decidable_eq, decidable_linear_order]), (decidable_linear_order.decidable_le, [decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, decidable_linear_order]), (decidable_linear_order.decidable_lt, [decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_rel, decidable_linear_order]), (decidable_linear_order.le, [decidable_linear_order]), (decidable_linear_order.le_antisymm, [eq, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, preorder.mk, preorder.to_has_le, has_le.le, decidable_linear_order]), (decidable_linear_order.le_refl, [decidable_linear_order.le, has_le.mk, has_le.le, decidable_linear_order]), (decidable_linear_order.le_total, [decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, decidable_linear_order]), (decidable_linear_order.le_trans, [decidable_linear_order.le, has_le.mk, has_le.le, decidable_linear_order]), (decidable_linear_order.lt, [decidable_linear_order]), (decidable_linear_order.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, decidable_linear_order.le, has_le.mk, has_le.le, and, decidable_linear_order.lt, has_lt.mk, has_lt.lt, iff, auto_param, decidable_linear_order]), (decidable_linear_order.mk, [decidable_linear_order, preorder.to_has_lt, decidable_eq, linear_order.mk, linear_order.to_partial_order, decidable_rel, partial_order.mk, partial_order.to_preorder, or, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (decidable_linear_order.to_linear_order, [decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order, decidable_linear_order]), (decidable_linear_ordered_comm_group, []), (decidable_linear_ordered_comm_group.add, [decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_assoc, [decidable_linear_ordered_comm_group.add, has_add.mk, has_add.add, eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_comm, [decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_le_add_left, [decidable_linear_ordered_comm_group.add_comm, decidable_linear_ordered_comm_group.add_left_neg, decidable_linear_ordered_comm_group.neg, decidable_linear_ordered_comm_group.add_zero, decidable_linear_ordered_comm_group.zero_add, decidable_linear_ordered_comm_group.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_comm_group.decidable_lt, decidable_linear_ordered_comm_group.decidable_eq, decidable_linear_ordered_comm_group.decidable_le, decidable_linear_ordered_comm_group.le_total, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, decidable_linear_order.mk, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_group.neg, has_neg.mk, has_neg.neg, decidable_linear_ordered_comm_group.add_zero, decidable_linear_ordered_comm_group.zero_add, decidable_linear_ordered_comm_group.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_lt_add_left, [decidable_linear_ordered_comm_group.add_comm, decidable_linear_ordered_comm_group.add_left_neg, decidable_linear_ordered_comm_group.neg, decidable_linear_ordered_comm_group.add_zero, decidable_linear_ordered_comm_group.zero_add, decidable_linear_ordered_comm_group.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_comm_group.decidable_lt, decidable_linear_ordered_comm_group.decidable_eq, decidable_linear_ordered_comm_group.decidable_le, decidable_linear_ordered_comm_group.le_total, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, decidable_linear_order.mk, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.add_zero, [decidable_linear_ordered_comm_group.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.decidable_eq, [decidable_eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.decidable_le, [decidable_linear_ordered_comm_group.le_total, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.decidable_lt, [decidable_linear_ordered_comm_group.le_total, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_rel, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.le, [decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.le_antisymm, [eq, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, preorder.mk, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.le_refl, [decidable_linear_ordered_comm_group.le, has_le.mk, has_le.le, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.le_total, [decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.le_trans, [decidable_linear_ordered_comm_group.le, has_le.mk, has_le.le, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.lt, [decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, decidable_linear_ordered_comm_group.le, has_le.mk, has_le.le, and, decidable_linear_ordered_comm_group.lt, has_lt.mk, has_lt.lt, iff, auto_param, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.mk, [decidable_linear_ordered_comm_group, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, decidable_linear_order.mk, decidable_linear_order.to_linear_order, preorder.to_has_lt, decidable_eq, linear_order.mk, linear_order.to_partial_order, decidable_rel, partial_order.mk, partial_order.to_preorder, or, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (decidable_linear_ordered_comm_group.neg, [decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.to_add_comm_group, [decidable_linear_ordered_comm_group.add_comm, decidable_linear_ordered_comm_group.add_left_neg, decidable_linear_ordered_comm_group.neg, decidable_linear_ordered_comm_group.add_zero, decidable_linear_ordered_comm_group.zero_add, decidable_linear_ordered_comm_group.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_comm_group.mk, add_comm_group, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.to_decidable_linear_order, [decidable_linear_ordered_comm_group.decidable_lt, decidable_linear_ordered_comm_group.decidable_eq, decidable_linear_ordered_comm_group.decidable_le, decidable_linear_ordered_comm_group.le_total, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, decidable_linear_order.mk, decidable_linear_order, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.to_ordered_comm_group, [decidable_linear_ordered_comm_group.add_lt_add_left, decidable_linear_ordered_comm_group.add_le_add_left, decidable_linear_ordered_comm_group.le_antisymm, decidable_linear_ordered_comm_group.lt_iff_le_not_le, decidable_linear_ordered_comm_group.le_trans, decidable_linear_ordered_comm_group.le_refl, decidable_linear_ordered_comm_group.lt, decidable_linear_ordered_comm_group.le, decidable_linear_ordered_comm_group.add_comm, decidable_linear_ordered_comm_group.add_left_neg, decidable_linear_ordered_comm_group.neg, decidable_linear_ordered_comm_group.add_zero, decidable_linear_ordered_comm_group.zero_add, decidable_linear_ordered_comm_group.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, ordered_comm_group.mk, ordered_comm_group, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.zero, [decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_group.zero_add, [decidable_linear_ordered_comm_group.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_comm_group.add_assoc, decidable_linear_ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_group]), (decidable_linear_ordered_comm_ring, []), (decidable_linear_ordered_comm_ring.add, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_assoc, [decidable_linear_ordered_comm_ring.add, has_add.mk, has_add.add, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_comm, [decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_le_add_left, [decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_ring.neg, has_neg.mk, has_neg.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_lt_add_left, [decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.add_zero, [decidable_linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.decidable_eq, [decidable_eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.decidable_le, [decidable_linear_ordered_comm_ring.le_total, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.decidable_lt, [decidable_linear_ordered_comm_ring.le_total, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_rel, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.le, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.le_antisymm, [eq, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, preorder.mk, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.le_refl, [decidable_linear_ordered_comm_ring.le, has_le.mk, has_le.le, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.le_total, [decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.le_trans, [decidable_linear_ordered_comm_ring.le, has_le.mk, has_le.le, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.left_distrib, [decidable_linear_ordered_comm_ring.add, has_add.mk, has_add.add, decidable_linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.lt, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, decidable_linear_ordered_comm_ring.le, has_le.mk, has_le.le, and, decidable_linear_ordered_comm_ring.lt, has_lt.mk, has_lt.lt, iff, auto_param, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mk, [decidable_linear_ordered_comm_ring, decidable_eq, linear_order.mk, linear_order.to_partial_order, decidable_rel, ordered_ring.mk, ordered_ring.to_ordered_comm_group, or, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ordered_comm_group.mk, ordered_comm_group.to_partial_order, ne, preorder.to_has_lt, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (decidable_linear_ordered_comm_ring.mul, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mul_assoc, [decidable_linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mul_comm, [decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mul_nonneg, [decidable_linear_ordered_comm_ring.right_distrib, decidable_linear_ordered_comm_ring.left_distrib, decidable_linear_ordered_comm_ring.mul_one, decidable_linear_ordered_comm_ring.one_mul, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_comm_ring.zero_ne_one, decidable_linear_ordered_comm_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_ring.add_lt_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mul_one, [decidable_linear_ordered_comm_ring.one, has_one.mk, has_one.one, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.mul_pos, [decidable_linear_ordered_comm_ring.right_distrib, decidable_linear_ordered_comm_ring.left_distrib, decidable_linear_ordered_comm_ring.mul_one, decidable_linear_ordered_comm_ring.one_mul, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_comm_ring.zero_ne_one, decidable_linear_ordered_comm_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, decidable_linear_ordered_comm_ring.add_lt_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.neg, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.one, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.one_mul, [decidable_linear_ordered_comm_ring.one, has_one.mk, has_one.one, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.right_distrib, [decidable_linear_ordered_comm_ring.add, has_add.mk, has_add.add, decidable_linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.to_decidable_linear_ordered_comm_group, [decidable_linear_ordered_comm_ring.add_lt_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.decidable_lt, decidable_linear_ordered_comm_ring.decidable_eq, decidable_linear_ordered_comm_ring.decidable_le, decidable_linear_ordered_comm_ring.le_total, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, decidable_linear_ordered_comm_group.mk, decidable_linear_ordered_comm_group, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.to_decidable_linear_ordered_semiring, [decidable_linear_ordered_comm_ring.decidable_lt, decidable_linear_ordered_comm_ring.decidable_eq, decidable_linear_ordered_comm_ring.decidable_le, decidable_linear_ordered_comm_ring.zero_lt_one, decidable_linear_ordered_comm_ring.le_total, linear_ordered_semiring.mul_lt_mul_of_pos_right, linear_ordered_semiring.mul_lt_mul_of_pos_left, linear_ordered_semiring.mul_le_mul_of_nonneg_right, linear_ordered_semiring.mul_le_mul_of_nonneg_left, linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, decidable_linear_ordered_comm_ring.right_distrib, decidable_linear_ordered_comm_ring.left_distrib, decidable_linear_ordered_comm_ring.mul_one, decidable_linear_ordered_comm_ring.one_mul, decidable_linear_ordered_comm_ring.one, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, decidable_linear_ordered_semiring.mk, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_linear_ordered_semiring, linear_ordered_semiring, decidable_linear_ordered_semiring, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, [decidable_linear_ordered_comm_ring.mul_comm, decidable_linear_ordered_comm_ring.zero_lt_one, decidable_linear_ordered_comm_ring.le_total, decidable_linear_ordered_comm_ring.mul_pos, decidable_linear_ordered_comm_ring.mul_nonneg, decidable_linear_ordered_comm_ring.zero_ne_one, decidable_linear_ordered_comm_ring.add_lt_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, decidable_linear_ordered_comm_ring.right_distrib, decidable_linear_ordered_comm_ring.left_distrib, decidable_linear_ordered_comm_ring.mul_one, decidable_linear_ordered_comm_ring.one_mul, decidable_linear_ordered_comm_ring.one, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, linear_ordered_comm_ring.mk, linear_ordered_comm_ring, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.zero, [decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.zero_add, [decidable_linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.zero_lt_one, [decidable_linear_ordered_comm_ring.mul_pos, decidable_linear_ordered_comm_ring.mul_nonneg, decidable_linear_ordered_comm_ring.zero_ne_one, decidable_linear_ordered_comm_ring.add_lt_add_left, decidable_linear_ordered_comm_ring.add_le_add_left, decidable_linear_ordered_comm_ring.le_antisymm, decidable_linear_ordered_comm_ring.lt_iff_le_not_le, decidable_linear_ordered_comm_ring.le_trans, decidable_linear_ordered_comm_ring.le_refl, decidable_linear_ordered_comm_ring.lt, decidable_linear_ordered_comm_ring.le, decidable_linear_ordered_comm_ring.right_distrib, decidable_linear_ordered_comm_ring.left_distrib, decidable_linear_ordered_comm_ring.mul_one, decidable_linear_ordered_comm_ring.one_mul, decidable_linear_ordered_comm_ring.one, decidable_linear_ordered_comm_ring.mul_assoc, decidable_linear_ordered_comm_ring.mul, decidable_linear_ordered_comm_ring.add_comm, decidable_linear_ordered_comm_ring.add_left_neg, decidable_linear_ordered_comm_ring.neg, decidable_linear_ordered_comm_ring.add_zero, decidable_linear_ordered_comm_ring.zero_add, decidable_linear_ordered_comm_ring.zero, decidable_linear_ordered_comm_ring.add_assoc, decidable_linear_ordered_comm_ring.add, ordered_ring.mk, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_comm_ring.zero_ne_one, [decidable_linear_ordered_comm_ring.one, has_one.mk, has_one.one, decidable_linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, ne, decidable_linear_ordered_comm_ring]), (decidable_linear_ordered_semiring, []), (decidable_linear_ordered_semiring.add, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_assoc, [decidable_linear_ordered_semiring.add, has_add.mk, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_comm, [decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_le_add_left, [decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_left_cancel, [decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_right_cancel, [decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.add_zero, [decidable_linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.decidable_eq, [decidable_eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.decidable_le, [decidable_linear_ordered_semiring.le_total, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_rel, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.decidable_lt, [decidable_linear_ordered_semiring.le_total, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_rel, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le_antisymm, [eq, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, preorder.mk, preorder.to_has_le, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le_of_add_le_add_left, [decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le_refl, [decidable_linear_ordered_semiring.le, has_le.mk, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le_total, [decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.le_trans, [decidable_linear_ordered_semiring.le, has_le.mk, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.left_distrib, [decidable_linear_ordered_semiring.add, has_add.mk, has_add.add, decidable_linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.lt, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, decidable_linear_ordered_semiring.le, has_le.mk, has_le.le, and, decidable_linear_ordered_semiring.lt, has_lt.mk, has_lt.lt, iff, auto_param, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mk, [decidable_linear_ordered_semiring, decidable_eq, linear_order.mk, linear_order.to_partial_order, decidable_rel, ordered_semiring.mk, ordered_semiring.to_ordered_cancel_comm_monoid, or, preorder.to_has_lt, mul_zero_class.to_has_mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (decidable_linear_ordered_semiring.mul, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_assoc, [decidable_linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_left, [mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_right, [mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_lt_mul_of_pos_left, [mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_lt_mul_of_pos_right, [mul_zero_class.to_has_mul, has_mul.mul, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_one, [decidable_linear_ordered_semiring.one, has_one.mk, has_one.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.mul_zero, [decidable_linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.one, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.one_mul, [decidable_linear_ordered_semiring.one, has_one.mk, has_one.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.right_distrib, [decidable_linear_ordered_semiring.add, has_add.mk, has_add.add, decidable_linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.to_decidable_linear_order, [decidable_linear_ordered_semiring.decidable_lt, decidable_linear_ordered_semiring.decidable_eq, decidable_linear_ordered_semiring.decidable_le, decidable_linear_ordered_semiring.le_total, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_order.mk, decidable_linear_order, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.to_linear_ordered_semiring, [decidable_linear_ordered_semiring.zero_lt_one, decidable_linear_ordered_semiring.le_total, decidable_linear_ordered_semiring.mul_lt_mul_of_pos_right, decidable_linear_ordered_semiring.mul_lt_mul_of_pos_left, decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_right, decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_left, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, linear_ordered_semiring.mk, linear_ordered_semiring, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.zero, [decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.zero_add, [decidable_linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.zero_lt_one, [decidable_linear_ordered_semiring.mul_lt_mul_of_pos_right, decidable_linear_ordered_semiring.mul_lt_mul_of_pos_left, decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_right, decidable_linear_ordered_semiring.mul_le_mul_of_nonneg_left, decidable_linear_ordered_semiring.le_of_add_le_add_left, decidable_linear_ordered_semiring.add_le_add_left, decidable_linear_ordered_semiring.le_antisymm, decidable_linear_ordered_semiring.lt_iff_le_not_le, decidable_linear_ordered_semiring.le_trans, decidable_linear_ordered_semiring.le_refl, decidable_linear_ordered_semiring.lt, decidable_linear_ordered_semiring.le, decidable_linear_ordered_semiring.add_right_cancel, decidable_linear_ordered_semiring.add_left_cancel, decidable_linear_ordered_semiring.mul_zero, decidable_linear_ordered_semiring.zero_mul, decidable_linear_ordered_semiring.right_distrib, decidable_linear_ordered_semiring.left_distrib, decidable_linear_ordered_semiring.mul_one, decidable_linear_ordered_semiring.one_mul, decidable_linear_ordered_semiring.one, decidable_linear_ordered_semiring.mul_assoc, decidable_linear_ordered_semiring.mul, decidable_linear_ordered_semiring.add_comm, decidable_linear_ordered_semiring.add_zero, decidable_linear_ordered_semiring.zero_add, decidable_linear_ordered_semiring.zero, decidable_linear_ordered_semiring.add_assoc, decidable_linear_ordered_semiring.add, ordered_semiring.mk, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_ordered_semiring]), (decidable_linear_ordered_semiring.zero_mul, [decidable_linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, decidable_linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, decidable_linear_ordered_semiring]), (decidable_lt_of_decidable_le, [decidable_lt_of_decidable_le._main, preorder.to_has_lt, has_lt.lt, preorder.to_has_le, has_le.le, decidable_rel, preorder]), (decidable_lt_of_decidable_le._main, [le_of_lt, lt_of_le_not_le, decidable.is_true, not, not_le_of_gt, decidable.is_false, dite, decidable, id_rhs, preorder.to_has_lt, has_lt.lt, preorder.to_has_le, has_le.le, decidable_rel, preorder]), (decidable_of_decidable_of_iff, [decidable_of_decidable_of_iff._proof_1, decidable.is_false, not, iff.mp, decidable.is_true, dite, iff, decidable]), (decidable_of_decidable_of_iff._proof_1, [not_iff_not_of_iff, iff.mp, not, iff]), (decidable_of_iff', [iff.symm, decidable_of_decidable_of_iff, decidable, iff]), (decidable_of_iff, [decidable_of_decidable_of_iff, decidable, iff]), (decidable_pred, [decidable]), (decidable_rel, [decidable]), (default, [inhabited.default, inhabited]), (dif_eq_if, [decidable.is_true, rfl, decidable.is_false, id_rhs, decidable.cases_on, ite, not, dite, eq, decidable]), (dif_neg, [absurd, decidable.is_true, rfl, decidable.is_false, id_rhs, decidable.cases_on, dite, eq, not, decidable]), (dif_pos, [rfl, decidable.is_true, absurd, decidable.is_false, id_rhs, decidable.cases_on, dite, eq, not, decidable]), (discrete_field, []), (discrete_field.add, [discrete_field]), (discrete_field.add_assoc, [discrete_field.add, has_add.mk, has_add.add, eq, discrete_field]), (discrete_field.add_comm, [discrete_field.add_assoc, discrete_field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, discrete_field]), (discrete_field.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, discrete_field.neg, has_neg.mk, has_neg.neg, discrete_field.add_zero, discrete_field.zero_add, discrete_field.zero, discrete_field.add_assoc, discrete_field.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, discrete_field]), (discrete_field.add_zero, [discrete_field.zero, has_zero.mk, has_zero.zero, discrete_field.add_assoc, discrete_field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, discrete_field]), (discrete_field.inv, [discrete_field]), (discrete_field.inv_mul_cancel, [zero_ne_one_class.to_has_one, has_one.one, discrete_field.inv, has_inv.mk, has_inv.inv, discrete_field.right_distrib, discrete_field.left_distrib, discrete_field.mul_one, discrete_field.one_mul, discrete_field.mul_assoc, discrete_field.mul, discrete_field.add_comm, discrete_field.add_left_neg, discrete_field.neg, discrete_field.add_zero, discrete_field.zero_add, discrete_field.add_assoc, discrete_field.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, discrete_field.zero_ne_one, discrete_field.one, discrete_field.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, discrete_field]), (discrete_field.left_distrib, [discrete_field.add, has_add.mk, has_add.add, discrete_field.mul, has_mul.mk, has_mul.mul, eq, discrete_field]), (discrete_field.mk, [discrete_field, decidable_eq, zero_ne_one_class.to_has_one, has_inv.mk, has_inv.inv, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ne, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (discrete_field.mul, [discrete_field]), (discrete_field.mul_assoc, [discrete_field.mul, has_mul.mk, has_mul.mul, eq, discrete_field]), (discrete_field.mul_comm, [discrete_field.mul_assoc, discrete_field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, discrete_field]), (discrete_field.mul_inv_cancel, [zero_ne_one_class.to_has_one, has_one.one, discrete_field.inv, has_inv.mk, has_inv.inv, discrete_field.right_distrib, discrete_field.left_distrib, discrete_field.mul_one, discrete_field.one_mul, discrete_field.mul_assoc, discrete_field.mul, discrete_field.add_comm, discrete_field.add_left_neg, discrete_field.neg, discrete_field.add_zero, discrete_field.zero_add, discrete_field.add_assoc, discrete_field.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, discrete_field.zero_ne_one, discrete_field.one, discrete_field.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, discrete_field]), (discrete_field.mul_one, [discrete_field.one, has_one.mk, has_one.one, discrete_field.mul_assoc, discrete_field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, discrete_field]), (discrete_field.neg, [discrete_field]), (discrete_field.one, [discrete_field]), (discrete_field.one_mul, [discrete_field.one, has_one.mk, has_one.one, discrete_field.mul_assoc, discrete_field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, discrete_field]), (discrete_field.right_distrib, [discrete_field.add, has_add.mk, has_add.add, discrete_field.mul, has_mul.mk, has_mul.mul, eq, discrete_field]), (discrete_field.to_field, [discrete_field.mul_comm, discrete_field.inv_mul_cancel, discrete_field.mul_inv_cancel, discrete_field.zero_ne_one, discrete_field.inv, discrete_field.right_distrib, discrete_field.left_distrib, discrete_field.mul_one, discrete_field.one_mul, discrete_field.one, discrete_field.mul_assoc, discrete_field.mul, discrete_field.add_comm, discrete_field.add_left_neg, discrete_field.neg, discrete_field.add_zero, discrete_field.zero_add, discrete_field.zero, discrete_field.add_assoc, discrete_field.add, field.mk, field, discrete_field]), (discrete_field.zero, [discrete_field]), (discrete_field.zero_add, [discrete_field.zero, has_zero.mk, has_zero.zero, discrete_field.add_assoc, discrete_field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, discrete_field]), (discrete_field.zero_ne_one, [discrete_field.one, has_one.mk, has_one.one, discrete_field.zero, has_zero.mk, has_zero.zero, ne, discrete_field]), (distrib, []), (distrib.add, [distrib]), (distrib.left_distrib, [distrib.add, has_add.mk, has_add.add, distrib.mul, has_mul.mk, has_mul.mul, eq, distrib]), (distrib.mk, [distrib, has_add.mk, has_add.add, has_mul.mk, has_mul.mul, eq]), (distrib.mul, [distrib]), (distrib.right_distrib, [distrib.add, has_add.mk, has_add.add, distrib.mul, has_mul.mk, has_mul.mul, eq, distrib]), (distrib.to_has_add, [distrib.add, has_add.mk, has_add, distrib]), (distrib.to_has_mul, [distrib.mul, has_mul.mk, has_mul, distrib]), (dite, [decidable.rec_on, not, decidable]), (division_def, [rfl, division_ring.to_has_inv, has_inv.inv, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, division_ring_has_div, has_div.div, eq, division_ring]), (division_ring, []), (division_ring.add, [division_ring]), (division_ring.add_assoc, [division_ring.add, has_add.mk, has_add.add, eq, division_ring]), (division_ring.add_comm, [division_ring.add_assoc, division_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, division_ring]), (division_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, division_ring.neg, has_neg.mk, has_neg.neg, division_ring.add_zero, division_ring.zero_add, division_ring.zero, division_ring.add_assoc, division_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, division_ring]), (division_ring.add_zero, [division_ring.zero, has_zero.mk, has_zero.zero, division_ring.add_assoc, division_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, division_ring]), (division_ring.inv, [division_ring]), (division_ring.inv_mul_cancel, [zero_ne_one_class.to_has_one, has_one.one, division_ring.inv, has_inv.mk, has_inv.inv, division_ring.right_distrib, division_ring.left_distrib, division_ring.mul_one, division_ring.one_mul, division_ring.mul_assoc, division_ring.mul, division_ring.add_comm, division_ring.add_left_neg, division_ring.neg, division_ring.add_zero, division_ring.zero_add, division_ring.add_assoc, division_ring.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, division_ring.zero_ne_one, division_ring.one, division_ring.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (division_ring.left_distrib, [division_ring.add, has_add.mk, has_add.add, division_ring.mul, has_mul.mk, has_mul.mul, eq, division_ring]), (division_ring.mk, [division_ring, zero_ne_one_class.to_has_one, has_inv.mk, has_inv.inv, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ne, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (division_ring.mul, [division_ring]), (division_ring.mul_assoc, [division_ring.mul, has_mul.mk, has_mul.mul, eq, division_ring]), (division_ring.mul_inv_cancel, [zero_ne_one_class.to_has_one, has_one.one, division_ring.inv, has_inv.mk, has_inv.inv, division_ring.right_distrib, division_ring.left_distrib, division_ring.mul_one, division_ring.one_mul, division_ring.mul_assoc, division_ring.mul, division_ring.add_comm, division_ring.add_left_neg, division_ring.neg, division_ring.add_zero, division_ring.zero_add, division_ring.add_assoc, division_ring.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, division_ring.zero_ne_one, division_ring.one, division_ring.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (division_ring.mul_ne_zero, [zero_mul, mul_zero_class.to_has_zero, mul_assoc, mul_one_div_cancel, eq.symm, id, division_ring_has_div, has_div.div, eq.mpr, mul_one, eq.refl, monoid.to_has_one, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, eq.mp, false, absurd, zero_ne_one_class.to_has_one, has_one.one, eq, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, division_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (division_ring.mul_one, [division_ring.one, has_one.mk, has_one.one, division_ring.mul_assoc, division_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, division_ring]), (division_ring.neg, [division_ring]), (division_ring.one, [division_ring]), (division_ring.one_mul, [division_ring.one, has_one.mk, has_one.one, division_ring.mul_assoc, division_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, division_ring]), (division_ring.right_distrib, [division_ring.add, has_add.mk, has_add.add, division_ring.mul, has_mul.mk, has_mul.mul, eq, division_ring]), (division_ring.to_domain, [division_ring.zero_ne_one, division_ring.to_domain._proof_1, division_ring.right_distrib, division_ring.left_distrib, division_ring.mul_one, division_ring.one_mul, division_ring.one, division_ring.mul_assoc, division_ring.mul, division_ring.add_comm, division_ring.add_left_neg, division_ring.neg, division_ring.add_zero, division_ring.zero_add, division_ring.zero, division_ring.add_assoc, division_ring.add, domain.mk, domain, division_ring]), (division_ring.to_domain._proof_1, [or.inr, or.inl, division_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, mt, division_ring.mul_ne_zero, not, classical.by_contradiction, or, division_ring.zero, has_zero.mk, has_zero.zero, division_ring.mul, has_mul.mk, has_mul.mul, eq, division_ring]), (division_ring.to_has_inv, [division_ring.inv, has_inv.mk, has_inv, division_ring]), (division_ring.to_ring, [division_ring.right_distrib, division_ring.left_distrib, division_ring.mul_one, division_ring.one_mul, division_ring.one, division_ring.mul_assoc, division_ring.mul, division_ring.add_comm, division_ring.add_left_neg, division_ring.neg, division_ring.add_zero, division_ring.zero_add, division_ring.zero, division_ring.add_assoc, division_ring.add, ring.mk, ring, division_ring]), (division_ring.to_zero_ne_one_class, [division_ring.zero_ne_one, division_ring.one, division_ring.zero, zero_ne_one_class.mk, zero_ne_one_class, division_ring]), (division_ring.zero, [division_ring]), (division_ring.zero_add, [division_ring.zero, has_zero.mk, has_zero.zero, division_ring.add_assoc, division_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, division_ring]), (division_ring.zero_ne_one, [division_ring.one, has_one.mk, has_one.one, division_ring.zero, has_zero.mk, has_zero.zero, ne, division_ring]), (division_ring_has_div, [algebra.div, has_div.mk, has_div, division_ring]), (domain, []), (domain.add, [domain]), (domain.add_assoc, [domain.add, has_add.mk, has_add.add, eq, domain]), (domain.add_comm, [domain.add_assoc, domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, domain]), (domain.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, domain.neg, has_neg.mk, has_neg.neg, domain.add_zero, domain.zero_add, domain.zero, domain.add_assoc, domain.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, domain]), (domain.add_zero, [domain.zero, has_zero.mk, has_zero.zero, domain.add_assoc, domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, domain]), (domain.eq_zero_or_eq_zero_of_mul_eq_zero, [or, domain.zero, has_zero.mk, has_zero.zero, domain.mul, has_mul.mk, has_mul.mul, eq, domain]), (domain.left_distrib, [domain.add, has_add.mk, has_add.add, domain.mul, has_mul.mk, has_mul.mul, eq, domain]), (domain.mk, [domain, ne, or, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (domain.mul, [domain]), (domain.mul_assoc, [domain.mul, has_mul.mk, has_mul.mul, eq, domain]), (domain.mul_one, [domain.one, has_one.mk, has_one.one, domain.mul_assoc, domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, domain]), (domain.mul_right_inj, [or_false, iff_false_intro, sub_eq_add_neg, false, eq.trans, congr_arg, congr, add_group.to_has_neg, has_neg.neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, mul_eq_zero, or, mul_sub_right_distrib, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, sub_eq_zero, propext, eq.symm, eq.refl, eq.rec, id, add_group.to_add_monoid, add_monoid.to_has_zero, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq.mpr, no_zero_divisors.to_has_mul, has_mul.mul, eq, iff, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, domain]), (domain.neg, [domain]), (domain.one, [domain]), (domain.one_mul, [domain.one, has_one.mk, has_one.one, domain.mul_assoc, domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, domain]), (domain.right_distrib, [domain.add, has_add.mk, has_add.add, domain.mul, has_mul.mk, has_mul.mul, eq, domain]), (domain.to_no_zero_divisors, [domain.eq_zero_or_eq_zero_of_mul_eq_zero, domain.zero, domain.mul, no_zero_divisors.mk, no_zero_divisors, domain]), (domain.to_ring, [domain.right_distrib, domain.left_distrib, domain.mul_one, domain.one_mul, domain.one, domain.mul_assoc, domain.mul, domain.add_comm, domain.add_left_neg, domain.neg, domain.add_zero, domain.zero_add, domain.zero, domain.add_assoc, domain.add, ring.mk, ring, domain]), (domain.to_zero_ne_one_class, [domain.zero_ne_one, domain.one, domain.zero, zero_ne_one_class.mk, zero_ne_one_class, domain]), (domain.zero, [domain]), (domain.zero_add, [domain.zero, has_zero.mk, has_zero.zero, domain.add_assoc, domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, domain]), (domain.zero_ne_one, [domain.one, has_one.mk, has_one.one, domain.zero, has_zero.mk, has_zero.zero, ne, domain]), (dvd.elim, [exists.elim, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd.intro, [eq.symm, exists.intro, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, comm_semiring]), (dvd.trans, [dvd_trans, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_add, [trivial, eq_self_iff_true, propext, has_add, left_distrib, congr_arg, congr, eq.trans, id, true, eq.mpr, dvd.intro, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, dvd.elim, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_add, has_add.add, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_mul_left, [trivial, eq_self_iff_true, propext, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, mul_comm, eq.refl, congr_arg, congr, eq.trans, id, true, eq, eq.mpr, dvd.intro, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_mul_of_dvd_left, [dvd_mul_right, mul_assoc, semiring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.refl, eq.rec, id, eq.mpr, eq, dvd.elim, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_mul_of_dvd_right, [dvd_mul_of_dvd_left, mul_comm, eq.refl, eq.rec, eq, id, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_mul_right, [rfl, dvd.intro, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_neg, [dvd_neg_of_dvd, dvd_of_dvd_neg, iff.intro, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, comm_ring]), (dvd_neg_iff_dvd, [dvd_neg_of_dvd, dvd_of_dvd_neg, iff.intro, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, comm_ring]), (dvd_neg_of_dvd, [trivial, eq_self_iff_true, propext, has_neg, mul_neg_eq_neg_mul_symm, congr_arg, congr, eq.trans, id, true, comm_semiring.to_semiring, eq.mpr, dvd.intro, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, dvd.elim, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, comm_ring]), (dvd_of_dvd_neg, [neg_neg, eq.refl, eq, eq.rec, eq.mp, dvd_neg_of_dvd, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, comm_ring]), (dvd_of_neg_dvd, [neg_neg, eq.refl, eq, eq.rec, eq.mp, neg_dvd_of_dvd, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, comm_ring]), (dvd_refl, [trivial, eq_self_iff_true, propext, eq.refl, mul_one, congr_arg, congr, eq.trans, id, true, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, eq.mpr, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, dvd.intro, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_trans, [trivial, eq_self_iff_true, propext, mul_left_comm, mul_comm, eq.refl, has_mul, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, Exists.intro, Exists, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, Exists.dcases_on, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (dvd_zero, [trivial, eq_self_iff_true, propext, eq.refl, mul_zero, congr_arg, congr, eq.trans, id, true, mul_zero_class.to_has_mul, has_mul.mul, eq, eq.mpr, dvd.intro, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (empty, []), (empty.cases_on, [empty.rec, empty]), (empty.elim, [empty.elim._main, empty]), (empty.elim._main, [empty.cases_on, empty]), (empty.fintype, [empty.fintype._proof_1, finset.has_emptyc, finset, has_emptyc.emptyc, fintype.mk, empty, fintype]), (empty.fintype._proof_1, [empty.rec, finset.has_emptyc, has_emptyc.emptyc, finset.has_mem, finset, has_mem.mem, empty]), (empty.rec, [empty]), (eq, []), (eq.dcases_on, [eq.rec, eq.refl, eq]), (eq.decidable, [decidable_linear_order.decidable_eq, eq, decidable, decidable_linear_order]), (eq.drec, [eq.rec, eq.refl, eq]), (eq.mp, [eq.rec_on, eq]), (eq.mpr, [eq.mpr._proof_1, eq.rec_on, eq]), (eq.mpr._proof_1, [eq.symm, eq]), (eq.rec, [eq]), (eq.rec_on, [eq.rec, eq]), (eq.refl, [eq]), (eq.subst, [eq.rec, eq]), (eq.substr, [eq.symm, eq.subst, eq]), (eq.symm, [rfl, eq.subst, eq]), (eq.to_iff, [iff.rfl, eq.rec_on, iff, eq]), (eq.trans, [eq.subst, eq]), (eq_add_neg_iff_add_eq, [add_neg_cancel_right, eq.symm, trivial, eq_self_iff_true, propext, neg_add_cancel_right, eq.refl, has_add, congr_arg, congr, eq.trans, id, true, eq.mpr, iff.intro, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, iff, add_group]), (eq_comm, [eq.symm, iff.intro, eq, iff]), (eq_false_intro, [iff_false_intro, propext, false, eq, not]), (eq_false_of_not_eq_true, [trivial, eq.mpr, absurd, eq_false_intro, false, true, not, eq]), (eq_inv_iff_eq_inv, [eq_inv_of_eq_inv, iff.intro, group.to_has_inv, has_inv.inv, eq, iff, group]), (eq_inv_of_eq_inv, [trivial, eq_self_iff_true, propext, inv_inv, has_inv, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, group.to_has_inv, has_inv.inv, eq, group]), (eq_max, [max_le, le_max_right, le_max_left, le_antisymm, max, eq, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (eq_mul_inv_of_mul_eq, [trivial, eq_self_iff_true, propext, mul_one, mul_right_inv, mul_assoc, eq.symm, has_mul, monoid.to_has_one, has_one.one, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (eq_neg_of_add_eq_zero, [neg_eq_of_add_eq_zero, trivial, eq_self_iff_true, propext, neg_neg, eq.symm, has_neg, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, add_group.to_has_neg, has_neg.neg, add_monoid.to_has_zero, has_zero.zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (eq_neg_of_eq_neg, [trivial, eq_self_iff_true, propext, neg_neg, has_neg, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, add_group.to_has_neg, has_neg.neg, eq, add_group]), (eq_of_forall_ge_iff, [iff.mp, le_refl, iff.mpr, le_antisymm, eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, partial_order]), (eq_of_forall_le_iff, [iff.mpr, le_refl, iff.mp, le_antisymm, eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, partial_order]), (eq_of_heq, [rfl, heq.rec_on, eq.refl, eq.rec_on, eq, heq]), (eq_of_sub_eq_zero, [zero_add, id, eq.mpr, sub_eq_add_neg, neg_add_cancel_right, eq.refl, eq.rec, add_group.to_has_neg, has_neg.neg, eq.mp, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, add_group]), (eq_self_iff_true, [rfl, iff_true_intro, true, eq, iff]), (eq_sub_iff_add_eq, [eq_add_neg_iff_add_eq, trivial, eq_self_iff_true, propext, neg_add_cancel_right, eq.refl, sub_eq_add_neg, has_add, add_group.to_has_neg, has_neg.neg, congr_arg, congr, eq.trans, id, true, eq.mpr, iff.intro, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, eq, iff, add_group]), (eq_sub_of_add_eq, [trivial, eq_self_iff_true, propext, add_zero, add_right_neg, has_add, add_assoc, sub_eq_add_neg, eq.symm, has_sub, add_group.to_has_neg, has_neg.neg, add_monoid.to_has_zero, has_zero.zero, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, add_group_has_sub, has_sub.sub, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (eq_true_intro, [iff_true_intro, propext, true, eq]), (eq_true_of_and_eq_true_right, [of_eq_true, and.right, eq_true_intro, true, and, eq]), (eq_zero_of_zero_dvd, [zero_mul, eq.trans, mul_zero_class.to_has_mul, has_mul.mul, dvd.elim, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (eq_zero_or_eq_zero_of_mul_eq_zero, [no_zero_divisors.eq_zero_or_eq_zero_of_mul_eq_zero, or, no_zero_divisors.to_has_zero, has_zero.zero, no_zero_divisors.to_has_mul, has_mul.mul, eq, no_zero_divisors]), (equiv, []), (equiv.apply_inverse_apply, [eq.rec, eq.refl, equiv.coe_fn_symm_mk, congr_fun, equiv.coe_fn_mk, congr_arg, congr, id, eq.mpr, equiv.mk, id_rhs, function.right_inverse, function.left_inverse, equiv.cases_on, equiv.symm, equiv.has_coe_to_fun, coe_fn, eq, equiv]), (equiv.bijective, [Exists.intro, function.surjective_of_has_right_inverse, function.injective_of_left_inverse, and.intro, function.surjective, equiv.mk, function.injective, and, id_rhs, function.right_inverse, function.left_inverse, equiv.cases_on, equiv.has_coe_to_fun, coe_fn, function.bijective, equiv]), (equiv.cases_on, [equiv.rec, equiv.mk, function.right_inverse, function.left_inverse, equiv]), (equiv.coe_fn_mk, [rfl, coe_fn, equiv.mk, equiv.has_coe_to_fun, equiv, has_coe_to_fun.F, eq, function.right_inverse, function.left_inverse]), (equiv.coe_fn_symm_mk, [rfl, coe_fn, equiv.mk, equiv.symm, equiv.has_coe_to_fun, equiv, has_coe_to_fun.F, eq, function.right_inverse, function.left_inverse]), (equiv.equiv_fib, [equiv.equiv_fib._proof_3, equiv.equiv_fib._proof_2, sigma.snd, sigma.fst, subtype.val, equiv.equiv_fib._proof_1, subtype.mk, sigma.mk, equiv.mk, eq, subtype, sigma, equiv]), (equiv.equiv_fib._match_1, [heq.refl, eq.symm, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, subtype.cases_on, sigma.cases_on, sigma.snd, sigma.fst, subtype.val, rfl, subtype.mk, sigma.mk, eq, subtype, sigma]), (equiv.equiv_fib._proof_1, [rfl, eq]), (equiv.equiv_fib._proof_2, [rfl, subtype.mk, sigma.mk, sigma.snd, sigma.fst, subtype.val, subtype, sigma, eq]), (equiv.equiv_fib._proof_3, [equiv.equiv_fib._match_1, sigma.snd, sigma.fst, subtype.val, rfl, subtype.mk, sigma.mk, eq, subtype, sigma]), (equiv.has_coe_to_fun, [equiv.to_fun, has_coe_to_fun.mk, equiv, has_coe_to_fun]), (equiv.inv_fun, [equiv]), (equiv.inverse_apply_apply, [eq.rec, eq.refl, equiv.coe_fn_mk, congr_fun, equiv.coe_fn_symm_mk, congr_arg, congr, id, eq.mpr, equiv.mk, id_rhs, function.right_inverse, function.left_inverse, equiv.cases_on, equiv.symm, equiv.has_coe_to_fun, coe_fn, eq, equiv]), (equiv.left_inv, [equiv.to_fun, equiv.inv_fun, function.left_inverse, equiv]), (equiv.mk, [equiv, function.right_inverse, function.left_inverse]), (equiv.of_bijective, [equiv.of_bijective._proof_3, equiv.of_bijective._proof_2, equiv.of_bijective._proof_1, eq, classical.some, equiv.mk, equiv, function.bijective]), (equiv.of_bijective._proof_1, [function.surjective, function.injective, and.right, eq, Exists, function.bijective]), (equiv.of_bijective._proof_2, [classical.some_spec, and.left, function.surjective, function.injective, and.right, classical.some, eq, function.bijective]), (equiv.of_bijective._proof_3, [classical.some_spec, function.surjective, function.injective, and.right, classical.some, eq, function.bijective]), (equiv.rec, [equiv.mk, function.right_inverse, function.left_inverse, equiv]), (equiv.refl, [equiv.refl._proof_2, equiv.refl._proof_1, id, equiv.mk, equiv]), (equiv.refl._proof_1, [rfl, id, eq]), (equiv.refl._proof_2, [rfl, id, eq]), (equiv.right_inv, [equiv.to_fun, equiv.inv_fun, function.right_inverse, equiv]), (equiv.set.univ, [equiv.set.univ._proof_2, equiv.set.univ._proof_1, trivial, subtype.mk, set.has_mem, has_mem.mem, subtype.val, equiv.mk, set.univ, set.has_coe_to_sort, set, coe_sort, equiv]), (equiv.set.univ._match_1, [rfl, id_rhs, subtype.cases_on, subtype.val, trivial, set.has_mem, has_mem.mem, subtype.mk, eq, set.univ, set.has_coe_to_sort, set, coe_sort]), (equiv.set.univ._proof_1, [equiv.set.univ._match_1, subtype.val, trivial, set.has_mem, has_mem.mem, subtype.mk, eq, set.univ, set.has_coe_to_sort, set, coe_sort]), (equiv.set.univ._proof_2, [rfl, trivial, subtype.mk, set.univ, set.has_mem, set, has_mem.mem, subtype.val, eq]), (equiv.sigma_congr_right, [equiv.sigma_congr_right._proof_2, equiv.sigma_congr_right._proof_1, equiv.sigma_congr_right._match_2, equiv.sigma_congr_right._match_1, equiv.mk, sigma, equiv]), (equiv.sigma_congr_right._match_1, [equiv.has_coe_to_fun, coe_fn, sigma.mk, id_rhs, sigma.cases_on, sigma, equiv]), (equiv.sigma_congr_right._match_2, [equiv.symm, equiv.has_coe_to_fun, coe_fn, sigma.mk, id_rhs, sigma.cases_on, sigma, equiv]), (equiv.sigma_congr_right._match_3, [equiv.inverse_apply_apply, congr_arg, equiv.symm, equiv.has_coe_to_fun, coe_fn, sigma.mk, id_rhs, sigma.cases_on, equiv.sigma_congr_right._match_1, equiv.sigma_congr_right._match_2, eq, sigma, equiv]), (equiv.sigma_congr_right._match_4, [equiv.apply_inverse_apply, congr_arg, equiv.symm, equiv.has_coe_to_fun, coe_fn, sigma.mk, id_rhs, sigma.cases_on, equiv.sigma_congr_right._match_2, equiv.sigma_congr_right._match_1, eq, sigma, equiv]), (equiv.sigma_congr_right._proof_1, [equiv.sigma_congr_right._match_3, equiv.sigma_congr_right._match_1, equiv.sigma_congr_right._match_2, eq, sigma, equiv]), (equiv.sigma_congr_right._proof_2, [equiv.sigma_congr_right._match_4, equiv.sigma_congr_right._match_2, equiv.sigma_congr_right._match_1, eq, sigma, equiv]), (equiv.sigma_equiv_prod, [equiv.sigma_equiv_prod._proof_2, equiv.sigma_equiv_prod._proof_1, equiv.sigma_equiv_prod._match_2, equiv.sigma_equiv_prod._match_1, equiv.mk, prod, sigma, equiv]), (equiv.sigma_equiv_prod._match_1, [prod.mk, id_rhs, sigma.cases_on, prod, sigma]), (equiv.sigma_equiv_prod._match_2, [sigma.mk, id_rhs, prod.cases_on, sigma, prod]), (equiv.sigma_equiv_prod._match_3, [rfl, sigma.mk, id_rhs, sigma.cases_on, equiv.sigma_equiv_prod._match_1, equiv.sigma_equiv_prod._match_2, prod, eq, sigma]), (equiv.sigma_equiv_prod._match_4, [rfl, prod.mk, id_rhs, prod.cases_on, equiv.sigma_equiv_prod._match_2, equiv.sigma_equiv_prod._match_1, sigma, eq, prod]), (equiv.sigma_equiv_prod._proof_1, [equiv.sigma_equiv_prod._match_3, equiv.sigma_equiv_prod._match_1, equiv.sigma_equiv_prod._match_2, prod, eq, sigma]), (equiv.sigma_equiv_prod._proof_2, [equiv.sigma_equiv_prod._match_4, equiv.sigma_equiv_prod._match_2, equiv.sigma_equiv_prod._match_1, sigma, eq, prod]), (equiv.symm, [equiv.left_inv, equiv.right_inv, equiv.to_fun, equiv.inv_fun, equiv.mk, equiv]), (equiv.to_fun, [equiv]), (equiv.trans, [equiv.trans._proof_2, equiv.trans._proof_1, equiv.inv_fun, equiv.to_fun, function.comp, equiv.mk, equiv]), (equiv.trans._proof_1, [equiv.left_inv, function.left_inverse.comp, equiv.to_fun, equiv.inv_fun, function.comp, function.left_inverse, equiv]), (equiv.trans._proof_2, [equiv.right_inv, function.right_inverse.comp, equiv.to_fun, equiv.inv_fun, function.comp, function.right_inverse, equiv]), (equivalence, [transitive, symmetric, reflexive, and]), (exists.elim, [Exists.rec, Exists]), (exists.intro, [Exists.intro, Exists]), (exists_and_distrib_left, [Exists.intro, and.intro, id_rhs, and.dcases_on, Exists.dcases_on, iff.intro, and, Exists, iff]), (exists_and_distrib_right, [trivial, iff_self, exists_and_distrib_left, and_comm, propext, funext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, and, Exists, iff]), (exists_congr, [iff.mpr, iff.mp, exists_imp_exists, iff.intro, Exists, iff]), (exists_const, [arbitrary, Exists.intro, id_rhs, Exists.dcases_on, iff.intro, Exists, iff, inhabited]), (exists_eq_left', [trivial, iff_self, exists_eq_left, eq.refl, eq_comm, propext, funext, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, and, Exists, iff]), (exists_eq_left, [rfl, and.intro, Exists.intro, eq.subst, id_rhs, and.dcases_on, Exists.dcases_on, iff.intro, eq, and, Exists, iff]), (exists_eq_right', [trivial, iff_self, exists_eq_right, eq_comm, propext, eq.refl, funext, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, and, Exists, iff]), (exists_eq_right, [exists_eq_left, and.comm, exists_congr, iff.trans, eq, and, Exists, iff]), (exists_false, [id_rhs, Exists.dcases_on, false, Exists, not]), (exists_gpow_eq_one, [set.not_injective_int_fintype, function.injective.equations._eqn_1, eq.rec, exists_prop, classical.not_forall, eq.mp, ne.def, funext, trivial, eq_self_iff_true, propext, mul_right_inv, gpow_neg, has_mul, gpow_add, sub_eq_add_neg, eq.refl, has_pow, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group.to_has_neg, has_neg.neg, group.to_has_inv, has_inv.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, congr_arg, congr, eq.trans, id, true, eq.mpr, sub_ne_zero, add_group.to_add_monoid, add_monoid.to_has_zero, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, iff.mpr, Exists.intro, int.has_sub, has_sub.sub, id_rhs, and.dcases_on, Exists.dcases_on, and, function.injective, not, group.to_monoid, monoid.to_has_one, has_one.one, group.has_pow, has_pow.pow, eq, int.has_zero, has_zero.zero, ne, int, Exists, decidable_eq, fintype, group]), (exists_imp_distrib, [id_rhs, Exists.dcases_on, Exists.intro, iff.intro, Exists, iff]), (exists_imp_exists, [Exists.intro, exists.elim, Exists]), (exists_or_distrib, [or.inr, Exists.intro, or.inl, or.elim, id_rhs, Exists.dcases_on, iff.intro, or, Exists, iff]), (exists_pow_eq_one, [exists_gpow_eq_one, inv_eq_one, group.to_has_inv, has_inv.inv, iff.mp, nat.decidable_lt, of_as_true, nat.has_one, nat.has_add, has_add.add, int.neg_succ_of_nat, trivial, not_false_iff, int.coe_nat_eq_zero, eq.refl, int.of_nat_eq_coe, congr, int.has_coe, coe_base, coe_to_lift, coe, eq.mp, iff_false_intro, propext, congr_arg, ne.def, false, not, eq.trans, id, true, eq.mpr, nat.pos_of_ne_zero, Exists.intro, int.of_nat, int.cases_on, id_rhs, Exists.dcases_on, group.has_pow, int.has_zero, ne, int, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, Exists, decidable_eq, fintype, group]), (exists_prop, [Exists.intro, and.dcases_on, and.intro, id_rhs, Exists.dcases_on, iff.intro, and, Exists, iff]), (exists_prop_decidable, [exists_prop_decidable._proof_2, decidable.is_false, not, exists_prop_decidable._proof_1, decidable_of_decidable_of_iff, dite, Exists, decidable]), (exists_prop_decidable._match_1, [id_rhs, Exists.dcases_on, Exists]), (exists_prop_decidable._match_2, [id_rhs, Exists.dcases_on, Exists]), (exists_prop_decidable._proof_1, [exists_prop_decidable._match_1, Exists.intro, iff.intro, Exists, iff]), (exists_prop_decidable._proof_2, [exists_prop_decidable._match_2, mt, Exists, not]), (exists_prop_of_false, [Exists.fst, mt, Exists, not]), (exists_prop_of_true, [inhabited.mk, exists_const, Exists, iff]), (exists_swap, [Exists.intro, id_rhs, Exists.dcases_on, iff.intro, Exists, iff]), (false, []), (false.dcases_on, [false.rec, false]), (false.elim, [false.rec, false]), (false.rec, [false]), (false_and, [and.left, iff_false_intro, false, and, iff]), (false_iff, [iff_false, iff.comm, iff.trans, not, false, iff]), (false_of_true_eq_false, [trivial, eq.subst, false, true, eq]), (false_or, [or_false, or.comm, iff.trans, false, or, iff]), (field, []), (field.add, [field]), (field.add_assoc, [field.add, has_add.mk, has_add.add, eq, field]), (field.add_comm, [field.add_assoc, field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, field]), (field.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, field.neg, has_neg.mk, has_neg.neg, field.add_zero, field.zero_add, field.zero, field.add_assoc, field.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, field]), (field.add_zero, [field.zero, has_zero.mk, has_zero.zero, field.add_assoc, field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, field]), (field.inv, [field]), (field.inv_mul_cancel, [zero_ne_one_class.to_has_one, has_one.one, field.inv, has_inv.mk, has_inv.inv, field.right_distrib, field.left_distrib, field.mul_one, field.one_mul, field.mul_assoc, field.mul, field.add_comm, field.add_left_neg, field.neg, field.add_zero, field.zero_add, field.add_assoc, field.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, field.zero_ne_one, field.one, field.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, field]), (field.left_distrib, [field.add, has_add.mk, has_add.add, field.mul, has_mul.mk, has_mul.mul, eq, field]), (field.mk, [field, zero_ne_one_class.to_has_one, has_inv.mk, has_inv.inv, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ne, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (field.mul, [field]), (field.mul_assoc, [field.mul, has_mul.mk, has_mul.mul, eq, field]), (field.mul_comm, [field.mul_assoc, field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, field]), (field.mul_inv_cancel, [zero_ne_one_class.to_has_one, has_one.one, field.inv, has_inv.mk, has_inv.inv, field.right_distrib, field.left_distrib, field.mul_one, field.one_mul, field.mul_assoc, field.mul, field.add_comm, field.add_left_neg, field.neg, field.add_zero, field.zero_add, field.add_assoc, field.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, field.zero_ne_one, field.one, field.zero, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ne, field]), (field.mul_one, [field.one, has_one.mk, has_one.one, field.mul_assoc, field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, field]), (field.neg, [field]), (field.one, [field]), (field.one_mul, [field.one, has_one.mk, has_one.one, field.mul_assoc, field.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, field]), (field.right_distrib, [field.add, has_add.mk, has_add.add, field.mul, has_mul.mk, has_mul.mul, eq, field]), (field.to_division_ring, [field.inv_mul_cancel, field.mul_inv_cancel, field.zero_ne_one, field.inv, field.right_distrib, field.left_distrib, field.mul_one, field.one_mul, field.one, field.mul_assoc, field.mul, field.add_comm, field.add_left_neg, field.neg, field.add_zero, field.zero_add, field.zero, field.add_assoc, field.add, division_ring.mk, division_ring, field]), (field.to_integral_domain, [field.zero_ne_one, field.to_integral_domain._proof_1, field.mul_comm, field.right_distrib, field.left_distrib, field.mul_one, field.one_mul, field.one, field.mul_assoc, field.mul, field.add_comm, field.add_left_neg, field.neg, field.add_zero, field.zero_add, field.zero, field.add_assoc, field.add, integral_domain.mk, integral_domain, field]), (field.to_integral_domain._proof_1, [domain.eq_zero_or_eq_zero_of_mul_eq_zero, or, domain.zero, has_zero.mk, has_zero.zero, field.to_division_ring, division_ring.to_domain, domain.mul, has_mul.mk, has_mul.mul, eq, field]), (field.zero, [field]), (field.zero_add, [field.zero, has_zero.mk, has_zero.zero, field.add_assoc, field.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, field]), (field.zero_ne_one, [field.one, has_one.mk, has_one.one, field.zero, has_zero.mk, has_zero.zero, ne, field]), (fin, [nat]), (fin.add, [fin.add._main, fin, nat]), (fin.add._main, [_private.1082582835.mlt, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, fin, nat]), (fin.cases_on, [fin.rec, fin.mk, nat.has_lt, has_lt.lt, fin, nat]), (fin.decidable_eq, [fin.decidable_eq._proof_1, nat.decidable_eq, fin.val, eq, decidable_of_decidable_of_iff, fin, decidable_eq, nat]), (fin.decidable_eq._proof_1, [fin.veq_of_eq, fin.eq_of_veq, iff.intro, fin.val, eq, iff, fin, nat]), (fin.eq_of_veq, [heq.refl, eq.symm, rfl, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, fin.mk, nat.has_lt, has_lt.lt, fin.cases_on, fin.val, eq, fin, nat]), (fin.fintype, [fin.fintype._proof_3, fin.fintype._proof_2, fin.fintype._proof_1, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, finset.mk, fintype.mk, fin, fintype, nat]), (fin.fintype._match_1, [rfl, Exists.intro, list.mem_pmap, eq, Exists, iff.mpr, id_rhs, fin.cases_on, list.nodup_range, fin.val, congr_arg, list.nodup_pmap, list.mem_range, list.has_mem, iff.mp, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, finset.mk, finset.has_mem, finset, has_mem.mem, fin, nat]), (fin.fintype._proof_1, [list.mem_range, iff.mp, nat.has_lt, has_lt.lt, list.range, list.has_mem, list, has_mem.mem, nat]), (fin.fintype._proof_2, [list.nodup_range, fin.val, congr_arg, list.nodup_pmap, list.mem_range, list.has_mem, list, has_mem.mem, iff.mp, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, fin, list.nodup, nat]), (fin.fintype._proof_3, [fin.fintype._match_1, list.nodup_range, fin.val, congr_arg, list.nodup_pmap, list.mem_range, list.has_mem, iff.mp, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, finset.mk, finset.has_mem, finset, has_mem.mem, fin, nat]), (fin.fintype.equations._eqn_1, [eq.refl, fin.fintype._proof_3, fin.fintype._proof_2, fin.fintype._proof_1, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, finset.mk, fintype.mk, fin.fintype, fin, fintype, eq, nat]), (fin.has_add, [fin.add, has_add.mk, fin, has_add, nat]), (fin.has_mul, [fin.mul, has_mul.mk, fin, has_mul, nat]), (fin.is_lt, [fin.val, nat.has_lt, has_lt.lt, fin, nat]), (fin.mk, [fin, nat.has_lt, has_lt.lt, nat]), (fin.mul, [fin.mul._main, fin, nat]), (fin.mul._main, [_private.1082582835.mlt, nat.has_mul, has_mul.mul, nat.has_mod, has_mod.mod, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, fin, nat]), (fin.ne_of_vne, [fin.veq_of_eq, false, absurd, eq, fin.val, ne, fin, nat]), (fin.rec, [fin.mk, nat.has_lt, has_lt.lt, fin, nat]), (fin.val, [fin, nat]), (fin.veq_of_eq, [heq.refl, eq.symm, rfl, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, fin.mk, nat.has_lt, has_lt.lt, fin.cases_on, fin.val, eq, fin, nat]), (fin.vne_of_ne, [fin.eq_of_veq, false, absurd, eq, fin.val, ne, fin, nat]), (finite_field.card_nth_roots_units, [zero_pow, semiring.to_monoid, eq_comm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.mp, integral_domain.to_nonzero_comm_ring, units.coe_ne_zero, exists_prop_of_true, funext, true.intro, and_self, eq_self_iff_true, iff.mp, units.mk0_val, has_pow, iff.refl, iff, eq.rec, and_congr, iff.trans, iff.mpr, units.mk0, Exists, Exists.intro, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, ne, forall_2_true_iff, trivial, forall_true_iff, imp_self, units.ext_iff, iff.symm, units.coe_pow, eq.symm, polynomial.mem_nth_roots, integral_domain.to_domain, true_and, eq.refl, finset.mem_univ, iff_true_intro, congr_arg, congr, finset.mem_filter, propext, and, imp_congr_eq, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.has_mem, finset, has_mem.mem, finset.card_congr, units.has_coe, coe_base, coe_to_lift, coe, field.to_integral_domain, polynomial.nth_roots, finite_field.fintype, finset.univ, units.decidable_eq, units.group, group.to_monoid, monoid.has_pow, has_pow.pow, finset.filter, finset.card, eq, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, decidable_eq, fintype, field]), (finite_field.card_order_of_eq_totient, [mt, not_not, nonempty.intro, fintype.card_pos_iff, nonempty, nat.sum_totient, nat.le_of_dvd, nat.lt_succ_of_le, and.intro, iff.mpr, finset.insert_erase, finset.sum_congr, not_false_iff, false_and, not_true, finset.sum_insert, eq.subst, eq_zero_of_zero_dvd, nat.pos_iff_ne_zero, gt, nat.pos_of_ne_zero, nat.totient_pos, lt_add_of_pos_left, rfl, or.dcases_on, and.dcases_on, le_refl, preorder, imp_congr_ctx_eq, nat.zero_le, nat.linear_order, le_of_not_gt, nat.le_zero_iff, has_le, _private.546038685.card_order_of_eq_totient_aux, nat.decidable_lt, imp_iff_not_or, iff.mp, preorder.to_has_le, or.elim, finset.sum_le_sum, imp_congr_eq, not_and, ne.def, finset.mem_erase, ne, not_eq_of_eq_true, finset.mem_range, finset.mem_insert, finset.range_succ, has_mem, eq_true_intro, eq_true_of_and_eq_true_right, and_eq_of_eq_true_right, imp_eq_of_eq_true_left, not_imp_eq_of_eq_false_right, or, of_eq_true, finset.card_empty, finset.filter_false, iff_false, finset.not_mem_empty, true_and, finset.card_eq_zero, eq.mp, iff_false_intro, false, finset.has_emptyc, has_emptyc.emptyc, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finset.erase_subset, finset.sum_subset, sum_card_order_of_eq_card_pow_eq_one, ordered_comm_monoid.to_add_comm_monoid, eq.symm, trivial, forall_true_iff, iff_self, and_self, finset.mem_filter, and, finset.mem_univ, iff_true_intro, forall_congr_eq, finset.ext, eq.drec, eq_self_iff_true, propext, eq.refl, pow_card_eq_one, congr, monoid.to_has_one, funext, decidable_pred, eq.rec, finset.has_mem, has_mem.mem, iff, id, true, eq.mpr, congr_arg, units.has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq.trans, nat.has_le, has_le.le, trans_rel_right, lt_of_le_of_lt, nat.has_add, has_add.add, finset.erase, finset.has_insert, finset, insert, nat.succ, finset.range, nat.decidable_dvd, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, finset.sum, trans_rel_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, nat.has_lt, has_lt.lt, nat.has_zero, has_zero.zero, not, by_contradiction, nat.totient, finset.univ, nat.decidable_eq, units.decidable_eq, units.group, order_of, finset.filter, finset.card, eq, finite_field.fintype, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, fintype.card, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat, decidable_eq, fintype, field]), (finite_field.card_pow_eq_one_eq_order_of, [set.card_fintype_of_finset, subtype.mk.inj, subtype.eq, subtype.property, one_gpow, pow_order_of_eq_one, monoid.to_has_one, mul_comm, int.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, gpow_mul, int.has_mul, has_mul.mul, gpow_coe_nat, int.has_coe, eq.symm, id_rhs, group.has_pow, int, Exists.dcases_on, finset.mem_univ, and.intro, finset.mem_filter, and, iff.mpr, subtype.val, subtype.mk, fintype.card_le_of_injective, order_eq_card_gpowers, set_fintype._proof_1, decidable_gpowers, set.decidable_mem, set.has_mem, fintype.subtype, gpowers, trans_rel_right, nat.has_le, finset.has_mem, has_mem.mem, iff.rfl, set.fintype_of_finset, finset.has_lift, lift_base, finset, set.has_coe_to_sort, set, coe_sort, fintype.card, trans_rel_left, polynomial.card_nth_roots, order_of_pos, finite_field.card_nth_roots_units, eq.refl, eq.rec, id, units.has_coe, coe_base, coe_to_lift, coe, field.to_integral_domain, polynomial.nth_roots, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, le_antisymm, finset.univ, units.has_one, has_one.one, units.decidable_eq, finite_field.fintype, order_of, units.group, group.to_monoid, monoid.has_pow, has_pow.pow, finset.filter, finset.card, nat, eq, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, decidable_eq, fintype, field]), (finite_field.card_units, [trivial, forall_true_iff, iff_self, classical.em, set.mem_set_of_eq, set.mem_insert_iff, or, set.mem_univ, iff_true_intro, forall_congr_eq, set.ext_iff, ne.def, funext, has_insert, set.has_mem, has_mem.mem, iff, true, has_coe_to_sort.S, congr_arg, has_coe_to_sort, fintype.subsingleton, subsingleton.elim, congr, eq.drec, eq.trans, equiv.set.univ, equiv.symm, set.univ_decidable, set.univ, not_not, not, set.card_insert, eq.symm, set.fintype_insert, set.has_insert, insert, units_equiv_ne_zero, fintype.card_congr, ne.decidable, set.decidable_set_of, set_fintype, ne, set_of, set.has_coe_to_sort, set, coe_sort, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nonempty.intro, fintype.card_pos_iff, nonempty, nat.has_lt, has_lt.lt, iff.mpr, nat.sub_eq_iff_eq_add, nat.has_zero, has_zero.zero, nat.succ, nat.has_add, has_add.add, eq_comm, propext, eq.refl, eq.rec, id, eq.mpr, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, finite_field.fintype, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, fintype.card, nat, eq, decidable_eq, fintype, field]), (finite_field.fintype, [units_equiv_ne_zero, equiv.symm, ne.decidable, set.decidable_set_of, set_fintype, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, fintype.of_equiv, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, decidable_eq, fintype, field]), (finite_field.is_cyclic, [units.has_one, has_one.one, nonempty.intro, fintype.card_pos_iff, nonempty, iff.mpr, nat.totient_pos, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, dvd_refl, finite_field.card_order_of_eq_totient, eq.refl, eq.rec, id, nat.totient, eq.mpr, finset.card_pos, finset.has_emptyc, has_emptyc.emptyc, ne, finset.card, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, iff.mp, finset.exists_mem_of_ne_empty, finite_field.is_cyclic._match_1, finset.univ, nat.decidable_eq, fintype.card, units.decidable_eq, classical.dec_eq, finite_field.fintype, order_of, nat, eq, finset.filter, finset.has_mem, finset, has_mem.mem, Exists, units.group, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, is_cyclic, field, fintype]), (finite_field.is_cyclic._match_1, [finset.mem_filter, and, iff.mp, and.right, is_cyclic_of_order_of_eq_card, id_rhs, Exists.dcases_on, is_cyclic, finset.univ, nat.decidable_eq, fintype.card, units.decidable_eq, finite_field.fintype, units.group, order_of, nat, eq, finset.filter, finset.has_mem, finset, has_mem.mem, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, Exists, decidable_eq, field, fintype]), (finite_field.prod_univ_units_id_eq_neg_one, [inv_inv, and_self, eq_comm, one_inv, has_neg, units.neg_inv, inv_eq_iff_inv_eq, group.to_has_inv, not_false_iff, or_self, iff_false_intro, units.inv_eq_self_iff, or, integral_domain.to_domain, false, imp_congr_ctx_eq, trivial, forall_true_iff, eq_self_iff_true, mul_right_inv, and_true, iff_true_intro, ne.def, congr_arg, congr, finset.mem_erase, propext, ne, and, imp_congr_eq, not, forall_congr_eq, eq.trans, true, units.has_inv, has_inv.inv, finset.has_mem, has_mem.mem, finset.prod_involution, mul_one, monoid.to_has_one, units.group, group.to_monoid, finset.not_mem_erase, finset.prod_insert, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.mem_univ, finset.insert_erase, eq.symm, eq.refl, eq.rec, id, finset.has_insert, finset, insert, eq.mpr, units.decidable_eq, finset.erase, units.has_one, has_one.one, units.has_neg, has_neg.neg, finite_field.fintype, finset.univ, field.to_integral_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, units.comm_group, comm_group.to_comm_monoid, finset.prod, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, eq, decidable_eq, fintype, field]), (finset, []), (finset.attach, [finset.attach._proof_1, finset.val, multiset.attach, finset.mk, finset.has_mem, has_mem.mem, subtype, finset]), (finset.attach._proof_1, [finset.nodup, multiset.nodup_attach, iff.mpr, multiset.attach, finset.val, multiset.has_mem, multiset, has_mem.mem, subtype, multiset.nodup, finset]), (finset.attach_image_val, [trivial, eq_self_iff_true, finset.val_inj, propext, multiset.attach_map_val, finset.attach_val, eq.refl, forall_true_iff, imp_self, subtype.mk_eq_mk, subtype.forall, forall_prop_of_true, iff.refl, finset.mem_attach, iff_true_intro, imp_congr, true.intro, forall_congr, subtype.mk, iff.trans, iff.mpr, finset.image_val_of_inj_on, multiset.attach, multiset.map, congr_arg, congr, eq.trans, id, true, finset.val, multiset, eq.mpr, finset.eq_of_veq, finset.attach, subtype.val, finset.has_mem, has_mem.mem, subtype, finset.image, eq, finset, decidable_eq]), (finset.attach_val, [rfl, multiset.attach, finset.attach, finset.val, finset.has_mem, has_mem.mem, subtype, multiset, eq, finset]), (finset.bind, [finset.val, multiset.bind, multiset.to_finset, finset, decidable_eq]), (finset.bind_empty, [rfl, finset.has_emptyc, has_emptyc.emptyc, finset.bind, eq, finset, decidable_eq]), (finset.bind_insert, [trivial, forall_true_iff, iff_self, finset.mem_union, exists_eq_left, exists_or_distrib, or_and_distrib_right, eq.refl, finset.mem_insert, exists_prop, funext, finset.mem_bind, propext, congr_arg, congr, and, Exists, or, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_union, has_union.union, finset.has_insert, insert, finset.bind, eq, finset, decidable_eq]), (finset.bind_val, [rfl, multiset.bind, multiset.erase_dup, finset.bind, finset.val, multiset, eq, finset, decidable_eq]), (finset.card, [finset.val, multiset.card, nat, finset]), (finset.card.equations._eqn_1, [eq.refl, finset.val, multiset.card, finset.card, nat, eq, finset]), (finset.card_attach, [finset.val, multiset.card_attach, finset.attach, finset.has_mem, has_mem.mem, subtype, finset.card, nat, eq, finset]), (finset.card_bind, [finset.sum_congr, finset.sum_bind, trivial, eq_self_iff_true, propext, nat.monoid, mul_one, nat.smul_eq_mul, finset.sum_const, add_comm_monoid.to_add_monoid, add_monoid.smul, nat.has_mul, has_mul.mul, eq.refl, congr_arg, congr, id, true, eq.mpr, nat.has_one, has_one.one, eq.trans, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, finset.sum, finset.bind, finset.card, nat, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, ne, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.card_congr, [trivial, exists_prop_of_true, eq_self_iff_true, propext, eq.refl, congr, funext, true.intro, finset.mem_attach, iff_true_intro, id, true, eq.mpr, subtype.mk, Exists.intro, finset.mem_image, iff.mp, eq.subst, id_rhs, Exists.dcases_on, iff.intro, finset.ext, iff, iff.mpr, congr_arg, subtype.eq, finset.card_image_of_injective, finset.card_attach, eq.symm, finset.attach, subtype.property, subtype.val, classical.prop_decidable, subtype, finset.image, eq.trans, finset.card, nat, Exists, eq, finset.has_mem, has_mem.mem, finset]), (finset.card_empty, [rfl, nat.has_zero, has_zero.zero, finset.has_emptyc, finset, has_emptyc.emptyc, finset.card, nat, eq]), (finset.card_eq_of_bijective, [eq.subst, Exists.intro, Exists.dcases_on, iff.intro, subtype.exists, exists_prop_of_true, true.intro, finset.mem_attach, iff_true_intro, true, iff.mpr, funext, finset.mem_image, congr_arg, congr, forall_congr_eq, finset.ext, propext, finset.card_range, finset.card_attach, subtype.eq, subtype.mk, id_rhs, subtype.cases_on, finset.card_image_of_injective, eq.refl, eq.rec, id, eq.mpr, eq.trans, finset.attach, subtype.property, subtype.val, subtype, finset.image, finset.mem_range, iff.mp, finset.range, iff, finset.card, eq, Exists, finset.has_mem, has_mem.mem, nat.has_lt, has_lt.lt, nat, finset, decidable_eq]), (finset.card_eq_zero, [finset.val_eq_zero, multiset.card_eq_zero, multiset.has_zero, multiset, finset.val, multiset.card, iff.trans, finset.has_emptyc, has_emptyc.emptyc, nat.has_zero, has_zero.zero, finset.card, nat, eq, iff, finset]), (finset.card_erase_of_mem, [finset.val, multiset.card_erase_of_mem, nat.pred, finset.erase, finset.card, nat, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.card_image_of_inj_on, [trivial, eq_self_iff_true, propext, multiset.card_map, finset.image_val_of_inj_on, multiset, finset.card.equations._eqn_1, multiset.map, congr_arg, congr, finset.val, multiset.card, eq.trans, id, true, eq.mpr, finset.image, finset.card, nat, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.card_image_of_injective, [finset.has_mem, has_mem.mem, finset.card_image_of_inj_on, finset.image, finset.card, nat, eq, function.injective, finset, decidable_eq]), (finset.card_insert_le, [le_refl, add_le_add_iff_right, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, not_false_iff, iff_false_intro, not_congr, false, iff.trans, finset.card_insert_of_not_mem, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, not, trivial, nat.le_add_right, propext, eq.refl, true.intro, iff_true_intro, iff.mpr, finset.insert_eq_of_mem, congr_arg, congr, has_le, eq.trans, eq, id, true, eq.mpr, finset.decidable_mem, finset.has_mem, has_mem.mem, dite, nat.has_one, has_one.one, nat.has_add, has_add.add, finset.has_insert, insert, finset.card, nat.has_le, nat, has_le.le, finset, decidable_eq]), (finset.card_insert_of_not_mem, [multiset.ndinsert_of_not_mem, multiset.card_cons, multiset.cons, eq.mp, add_comm, eq.refl, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, finset.insert_val, multiset, finset.card.equations._eqn_1, eq.trans, congr_arg, congr, id, finset.val, multiset.ndinsert, multiset.card, eq.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, finset.has_insert, insert, finset.card, nat, eq, finset.has_mem, has_mem.mem, not, finset, decidable_eq]), (finset.card_le_card_of_inj_on, [finset.mem_image, iff.mp, heq.refl, eq.symm, id_rhs, heq, eq.dcases_on, Exists.dcases_on, Exists, finset.card_le_of_subset, finset.card_image_of_inj_on, eq.refl, eq.rec, id, eq.mpr, finset.image, trans_rel_right, finset.card, nat.has_le, nat, has_le.le, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.card_le_of_subset, [finset.val_le_iff, iff.mpr, multiset.card_le_of_le, finset.val, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, multiset, function.comp, finset.card, nat.has_le, nat, has_le.le, finset.has_subset, has_subset.subset, finset]), (finset.card_lt_card, [finset.val_lt_iff, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, multiset, iff.mpr, finset.val, multiset.card_lt_of_lt, finset.card, nat.has_lt, nat, has_lt.lt, finset.has_ssubset, has_ssubset.ssubset, finset, decidable_eq]), (finset.card_pos, [finset.card_eq_zero, eq, not_congr, nat.pos_iff_ne_zero, gt, iff.trans, finset.has_emptyc, has_emptyc.emptyc, ne, finset.card, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, finset]), (finset.card_product, [finset.val, multiset.card_product, nat.has_mul, has_mul.mul, finset.product, prod, finset.card, nat, eq, finset]), (finset.card_range, [multiset.card_range, finset.range, finset.card, eq, nat]), (finset.card_union_add_card_inter, [finset.inter_insert_of_not_mem, or_self, finset.inhabited, forall_const, forall_true_iff, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_left_comm, not_false_iff, and_false, and_congr, finset.mem_inter, and, not_congr, finset.card_insert_of_not_mem, finset.inter_insert_of_mem, true.intro, or_false, iff_false_intro, iff_true_intro, or_congr, finset.mem_union, false, or, iff.trans, iff.mpr, finset.insert_eq_of_mem, finset.union_insert, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, nat.add_comm_semigroup, add_comm, imp_congr_ctx_eq, forall_congr_eq, finset.has_insert, insert, not, finset.decidable_mem, finset.has_mem, has_mem.mem, dite, trivial, eq_self_iff_true, propext, eq.refl, nat.add_monoid, add_zero, finset.card_empty, finset.inter_empty, finset.union_empty, has_add, nat.has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, finset.has_inter, has_inter.inter, finset.has_union, has_union.union, finset.card, nat.has_add, has_add.add, nat, eq, finset, decidable_eq]), (finset.card_union_le, [nat.le_add_right, finset.card_union_add_card_inter, finset.has_inter, has_inter.inter, eq.subst, nat.has_add, has_add.add, finset.has_union, has_union.union, finset.card, nat.has_le, nat, has_le.le, finset, decidable_eq]), (finset.cases_on, [finset.rec, finset.mk, multiset.nodup, multiset, finset]), (finset.coe_ssubset, [trivial, iff_self, eq.refl, finset.coe_subset, set.ssubset_iff_subset_not_subset, propext, set.has_subset, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, not, finset.has_subset, has_subset.subset, and, finset.has_ssubset, finset.has_lift, lift_base, coe, set.has_ssubset, set, has_ssubset.ssubset, iff, finset]), (finset.coe_subset, [iff.rfl, finset.has_subset, finset.has_lift, lift_base, coe, set.has_subset, set, has_subset.subset, iff, finset]), (finset.coe_to_finset', [trivial, iff_self, eq.refl, set.mem_to_finset, finset.mem_coe, propext, finset.has_mem, congr_arg, congr, eq.trans, id, true, set.has_mem, has_mem.mem, iff, eq.mpr, set.ext, set.to_finset, finset.has_lift, lift_base, finset, coe, eq, set.has_coe_to_sort, coe_sort, fintype, set, decidable_eq]), (finset.decidable_dexists_finset, [multiset.has_mem, multiset, finset.val, multiset.decidable_dexists_multiset, Exists, decidable, finset.has_mem, has_mem.mem, finset]), (finset.decidable_dforall_finset, [multiset.has_mem, multiset, finset.val, multiset.decidable_dforall_multiset, decidable, finset.has_mem, has_mem.mem, finset]), (finset.decidable_mem, [finset.val, multiset.decidable_mem, finset.has_mem, has_mem.mem, decidable, finset, decidable_eq]), (finset.empty, [multiset.nodup_zero, multiset.has_zero, multiset, has_zero.zero, finset.mk, finset]), (finset.empty_subset, [finset.val, multiset.zero_subset, finset.has_emptyc, has_emptyc.emptyc, finset.has_subset, has_subset.subset, finset]), (finset.empty_union, [trivial, forall_true_iff, iff_self, forall_congr_eq, finset.ext, propext, eq.refl, finset.union_empty, finset.union_comm, congr_arg, congr, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.eq_empty_iff_forall_not_mem, [finset.eq_empty_of_forall_not_mem, trivial, forall_true_iff, not_false_iff, finset.not_mem_empty, iff_false_intro, propext, eq.refl, congr, has_mem, congr_arg, false, forall_congr_eq, eq.trans, id, true, eq.mpr, iff.intro, finset.has_mem, has_mem.mem, not, finset.has_emptyc, has_emptyc.emptyc, eq, iff, finset]), (finset.eq_empty_of_forall_not_mem, [finset.val, multiset.eq_zero_of_forall_not_mem, finset.eq_of_veq, finset.has_emptyc, has_emptyc.emptyc, eq, finset.has_mem, has_mem.mem, not, finset]), (finset.eq_of_subset_of_card_le, [finset.val_le_iff, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, multiset, iff.mpr, finset.val, multiset.eq_of_le_of_card_le, finset.eq_of_veq, eq, finset.card, nat.has_le, nat, has_le.le, finset.has_subset, has_subset.subset, finset]), (finset.eq_of_veq, [eq.refl, eq.drec, eq.rec, id_rhs, finset.mk, multiset.nodup, finset.cases_on, finset.val, multiset, eq, finset]), (finset.erase, [finset.erase._proof_1, finset.val, multiset.erase, finset.mk, finset, decidable_eq]), (finset.erase._proof_1, [finset.nodup, multiset.nodup_erase_of_nodup, finset.val, multiset.erase, multiset.nodup, finset, decidable_eq]), (finset.erase_dup_eq_self, [finset.nodup, multiset.erase_dup_eq_self, multiset.nodup, iff.mpr, finset.val, multiset.erase_dup, multiset, eq, finset, decidable_eq]), (finset.erase_subset, [finset.val, multiset.erase_subset, finset.erase, finset.has_subset, has_subset.subset, finset, decidable_eq]), (finset.exists_mem_insert, [trivial, iff_self, exists_eq_left, exists_or_distrib, or_and_distrib_right, eq.refl, finset.mem_insert, propext, funext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, or, finset.has_insert, insert, finset.has_mem, has_mem.mem, and, Exists, iff, finset, decidable_eq]), (finset.exists_mem_of_ne_empty, [finset.val_eq_zero, iff.mp, multiset.has_zero, has_zero.zero, multiset, eq, mt, finset.val, multiset.exists_mem_of_ne_zero, finset.has_mem, has_mem.mem, Exists, finset.has_emptyc, has_emptyc.emptyc, ne, finset]), (finset.exists_nat_subset_range, [le_max_right, decidable_linear_order, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, finset.range_subset, nat.has_le, has_le.le, finset.subset.trans, le_max_left, finset.mem_range, nat.has_lt, has_lt.lt, and.intro, finset.insert_subset, and, iff.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, max, id_rhs, finset.has_insert, insert, Exists.dcases_on, finset.has_mem, has_mem.mem, not, trivial, finset.empty_subset, iff_true_intro, propext, finset.range_zero, eq.refl, congr_arg, congr, has_subset, eq.trans, eq, id, true, eq.mpr, nat.has_zero, has_zero.zero, finset.has_emptyc, has_emptyc.emptyc, Exists.intro, nat.decidable_eq, finset.induction_on, finset.range, finset.has_subset, has_subset.subset, Exists, nat, finset]), (finset.ext, [finset.nodup, multiset.nodup_ext, finset.val_inj, iff.symm, finset.val, multiset, iff.trans, finset.has_mem, has_mem.mem, eq, iff, finset]), (finset.filter, [finset.filter._proof_1, finset.val, multiset.filter, finset.mk, finset, decidable_pred]), (finset.filter._proof_1, [finset.nodup, multiset.nodup_filter, finset.val, multiset.filter, multiset.nodup, finset, decidable_pred]), (finset.filter_false, [trivial, iff_self, finset.not_mem_empty, iff_false_intro, and_false, finset.mem_filter, propext, and, congr_arg, congr, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.filter, eq, finset, false, decidable_pred]), (finset.filter_subset, [finset.val, multiset.filter_subset, finset.filter, finset.has_subset, has_subset.subset, finset, decidable_pred]), (finset.finite_to_set, [set.finite_mem_finset, finset.has_lift, lift_base, set, coe, set.finite, finset]), (finset.fold, [finset.val, multiset.map, multiset.fold, finset, is_associative, is_commutative]), (finset.fold.equations._eqn_1, [eq.refl, finset.val, multiset.map, multiset.fold, finset.fold, eq, finset, is_associative, is_commutative]), (finset.fold_congr, [multiset.map_congr, multiset, finset.fold.equations._eqn_1, eq.refl, eq.rec, id, finset.val, multiset.map, multiset.fold, eq.mpr, finset.fold, eq, finset.has_mem, has_mem.mem, finset, is_associative, is_commutative]), (finset.fold_empty, [rfl, finset.has_emptyc, finset, has_emptyc.emptyc, finset.fold, eq, is_associative, is_commutative]), (finset.fold_hom, [multiset.map_map, multiset, function.comp, multiset.fold_hom, eq.symm, finset.fold.equations._eqn_1, eq.refl, eq.rec, id, finset.val, multiset.map, multiset.fold, eq.mpr, finset.fold, eq, finset, is_associative, is_commutative]), (finset.fold_image, [trivial, eq_self_iff_true, propext, function.comp_app, multiset.has_mem, multiset.map_congr, multiset.map_map, finset.image_val_of_inj_on, eq.drec, multiset, finset.fold.equations._eqn_1, eq.refl, eq.rec, congr_arg, congr, finset.val, multiset.map, multiset.fold, eq.trans, id, true, eq.mpr, function.comp, finset.image, finset.fold, eq, finset.has_mem, has_mem.mem, finset, decidable_eq, is_associative, is_commutative]), (finset.fold_insert, [trivial, eq_self_iff_true, propext, multiset.fold_cons_left, multiset.map_cons, multiset.ndinsert_of_not_mem, finset.insert_val, multiset.ndinsert, eq.drec, multiset, finset.fold.equations._eqn_1, multiset.cons, eq.refl, eq.rec, congr_arg, congr, finset.val, multiset.map, multiset.fold, eq.trans, id, true, eq.mpr, finset.has_insert, insert, finset.fold, eq, finset.has_mem, has_mem.mem, not, decidable_eq, finset, is_associative, is_commutative]), (finset.fold_insert_idem, [trivial, eq_self_iff_true, propext, multiset.fold_cons_left, multiset.map_cons, eq.drec, congr_arg, congr, eq.trans, true, multiset.erase_dup_map_erase_dup_eq, multiset.fold_erase_dup_idem, eq.symm, classical.prop_decidable, finset.insert_val', multiset, multiset.cons, multiset.erase_dup, finset.fold.equations._eqn_1, eq.refl, eq.rec, id, finset.val, multiset.map, multiset.fold, eq.mpr, finset.has_insert, insert, finset.fold, eq, is_idempotent, decidable_eq, finset, is_associative, is_commutative]), (finset.fold_op_distrib, [trivial, eq_self_iff_true, propext, multiset.fold_distrib, finset.fold.equations._eqn_1, congr_arg, congr, finset.val, multiset.map, multiset.fold, eq.trans, id, true, eq.mpr, finset.fold, eq, finset, is_associative, is_commutative]), (finset.fold_singleton, [trivial, eq_self_iff_true, propext, multiset.fold_zero, multiset.fold_cons_left, multiset.map_zero, multiset.map_cons, finset.singleton_val, eq.drec, finset.fold.equations._eqn_1, finset.val, multiset.map, multiset.cons, eq.refl, eq.rec, multiset.has_zero, multiset, has_zero.zero, multiset.fold, congr_arg, congr, eq.trans, id, true, eq.mpr, finset.singleton, finset.fold, eq, is_associative, is_commutative]), (finset.fold_union_inter, [is_commutative.comm, multiset.union_add_inter, finset.inter_val, multiset.has_inter, finset.union_val, multiset.has_union, multiset.map_add, multiset.fold_add, eq.symm, eq.refl, eq.rec, multiset.has_add, multiset, has_add.add, finset.fold.equations._eqn_1, congr_arg, congr, id, finset.val, multiset.map, multiset.fold, eq.mpr, finset.has_inter, has_inter.inter, finset.has_union, has_union.union, finset.fold, eq, finset, decidable_eq, is_associative, is_commutative]), (finset.has_decidable_eq, [finset.has_decidable_eq._main, finset, decidable_eq]), (finset.has_decidable_eq._main, [multiset.has_decidable_eq, finset.val_inj, finset.val, multiset, decidable_of_iff, eq, decidable, id_rhs, finset, decidable_eq]), (finset.has_emptyc, [finset.empty, has_emptyc.mk, finset, has_emptyc]), (finset.has_insert, [finset.has_insert._proof_1, finset.val, multiset.ndinsert, finset.mk, has_insert.mk, finset, has_insert, decidable_eq]), (finset.has_insert._proof_1, [finset.nodup, multiset.nodup_ndinsert, finset.val, multiset.ndinsert, multiset.nodup, finset, decidable_eq]), (finset.has_inter, [finset.has_inter._proof_1, finset.val, multiset.ndinter, finset.mk, has_inter.mk, finset, has_inter, decidable_eq]), (finset.has_inter._proof_1, [finset.nodup, multiset.nodup_ndinter, finset.val, multiset.ndinter, multiset.nodup, finset, decidable_eq]), (finset.has_lift, [finset.to_set, has_lift.mk, set, finset, has_lift]), (finset.has_mem, [finset.val, multiset.has_mem, multiset, has_mem.mem, has_mem.mk, finset, has_mem]), (finset.has_sdiff, [finset.has_sdiff._proof_1, finset.val, multiset.has_sub, multiset, has_sub.sub, finset.mk, has_sdiff.mk, finset, has_sdiff, decidable_eq]), (finset.has_sdiff._proof_1, [finset.nodup, multiset.sub_le_self, multiset.nodup_of_le, finset.val, multiset.has_sub, multiset, has_sub.sub, multiset.nodup, finset, decidable_eq]), (finset.has_ssubset, [not, finset.has_subset, has_subset.subset, and, has_ssubset.mk, finset, has_ssubset]), (finset.has_subset, [finset.has_mem, has_mem.mem, has_subset.mk, finset, has_subset]), (finset.has_union, [finset.has_union._proof_1, finset.val, multiset.ndunion, finset.mk, has_union.mk, finset, has_union, decidable_eq]), (finset.has_union._proof_1, [finset.nodup, multiset.nodup_ndunion, finset.val, multiset.ndunion, multiset.nodup, finset, decidable_eq]), (finset.image, [finset.val, multiset.map, multiset.to_finset, finset, decidable_eq]), (finset.image_val, [rfl, multiset.map, multiset.erase_dup, finset.image, finset.val, multiset, eq, finset, decidable_eq]), (finset.image_val_of_inj_on, [finset.nodup, multiset.nodup_map_on, multiset.erase_dup_eq_self, multiset.nodup, multiset.erase_dup, iff.mpr, multiset.map, finset.image, finset.val, multiset, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.induction, [multiset.ndinsert_of_not_mem, finset.insert_val, multiset.ndinsert, finset.val, finset.eq_of_veq, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, multiset.nodup_cons, iff.mp, and, multiset.has_mem, and.dcases_on, multiset.cons, multiset.has_zero, has_zero.zero, multiset.induction_on, finset.mk, id_rhs, multiset.nodup, multiset, finset.cases_on, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, finset.has_emptyc, has_emptyc.emptyc, decidable_eq, finset]), (finset.induction_on, [finset.induction, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, finset.has_emptyc, has_emptyc.emptyc, decidable_eq, finset]), (finset.inhabited, [finset.has_emptyc, has_emptyc.emptyc, inhabited.mk, finset, inhabited]), (finset.insert.comm, [trivial, forall_true_iff, iff_self, or.left_comm, eq.refl, finset.mem_insert, propext, congr_arg, congr, or, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_insert, insert, eq, finset, decidable_eq]), (finset.insert_empty_eq_singleton, [rfl, finset.singleton, finset.has_insert, finset.has_emptyc, singleton, finset, eq, decidable_eq]), (finset.insert_eq_of_mem, [finset.val, multiset.ndinsert_of_mem, finset.eq_of_veq, finset.has_insert, insert, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.insert_erase, [and.right, auto.not_not_eq, auto.not_and_eq, auto.not_or_eq, eq.mp, and.left, not_eq_of_eq_true, or_eq_of_eq_false_left, eq_false_intro, and_eq_of_eq_false_right, or_eq_of_eq_false_right, of_eq_true, heq.refl, heq, eq_of_heq, eq.rec, eq_true_intro, eq.symm, true, false_of_true_eq_false, false, false.rec, classical.by_contradiction, iff.intro, ne.def, finset.mem_erase, ne, eq.refl, finset.mem_insert, propext, eq.trans, congr_arg, congr, id, not, and, or, eq.mpr, finset.ext, iff, iff.mpr, finset.erase, finset.has_insert, insert, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.insert_inter_of_mem, [and_false, and.elim_left, and.elim_right, or_self, false_and, eq_self_iff_true, not_true, iff_true_intro, or.dcases_on, and.right, auto.not_and_eq, auto.not_or_eq, eq.mp, and.left, eq_false_intro, or_eq_of_eq_false_left, heq.refl, heq, eq.rec, eq_of_heq, not_eq_of_eq_true, or_eq_of_eq_false_right, eq_true_intro, eq.symm, true, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, and_imp, iff.intro, finset.mem_insert, finset.mem_inter, propext, finset.inter_comm, eq.refl, has_mem, eq.trans, congr_arg, congr, forall_congr_eq, id, or, and, eq.mpr, finset.ext, iff, iff.mpr, finset.has_insert, insert, finset.has_inter, has_inter.inter, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.insert_inter_of_not_mem, [false_or, trivial, iff_self, and_comm, false_and, true_or, eq.refl, eq_self_iff_true, finset.mem_insert, or, iff_false_intro, finset.mem_inter, propext, finset.inter_comm, has_mem, and, congr_arg, congr, false, eq.trans, id, true, eq.mpr, dite, finset.ext, iff, iff.mpr, finset.has_insert, insert, finset.has_inter, has_inter.inter, eq, finset.has_mem, has_mem.mem, not, finset, decidable_eq]), (finset.insert_subset, [trivial, iff_self, forall_eq, forall_and_distrib, or_imp_distrib, eq.refl, finset.mem_insert, imp_congr_eq, or, forall_congr_eq, finset.subset_iff, propext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, finset.has_mem, has_mem.mem, and, finset.has_insert, insert, finset.has_subset, has_subset.subset, iff, finset, decidable_eq]), (finset.insert_union, [trivial, forall_true_iff, iff_self, or_comm, or.left_comm, finset.mem_insert, finset.mem_union, or, forall_congr_eq, finset.ext, propext, eq.refl, finset.union_comm, congr_arg, congr, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_insert, insert, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.insert_val', [trivial, eq_self_iff_true, propext, finset.erase_dup_eq_self, eq.refl, eq.drec, multiset.erase_dup_cons, finset.insert_val, congr_arg, congr, multiset.ndinsert, eq.trans, id, true, eq.mpr, multiset.cons, multiset.erase_dup, finset.has_insert, insert, finset.val, multiset, eq, finset, decidable_eq]), (finset.insert_val, [rfl, multiset.ndinsert, finset.has_insert, insert, finset.val, multiset, eq, finset, decidable_eq]), (finset.inter_comm, [trivial, forall_true_iff, iff_self, and_comm, finset.mem_inter, propext, congr_arg, congr, and, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_inter, has_inter.inter, eq, finset, decidable_eq]), (finset.inter_empty, [trivial, forall_true_iff, iff_self, and_false, finset.not_mem_empty, iff_false_intro, eq.refl, finset.mem_inter, propext, and, congr_arg, congr, false, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, finset, decidable_eq]), (finset.inter_insert_of_mem, [finset.insert_inter_of_mem, finset.inter_comm, eq.refl, eq.rec, id, eq.mpr, finset.has_insert, insert, finset.has_inter, has_inter.inter, eq, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.inter_insert_of_not_mem, [finset.insert_inter_of_not_mem, finset.inter_comm, eq.refl, eq.rec, id, eq.mpr, finset.has_insert, insert, finset.has_inter, has_inter.inter, eq, finset.has_mem, has_mem.mem, not, finset, decidable_eq]), (finset.inter_sdiff_self, [trivial, forall_true_iff, not_false_iff, and_false, not_true, iff_true_intro, imp_congr_ctx_eq, not_and, iff_false, finset.not_mem_empty, iff_false_intro, finset.mem_sdiff, eq.refl, finset.mem_inter, propext, congr_arg, congr, false, and, not, forall_congr_eq, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.has_sdiff, has_sdiff.sdiff, finset.has_inter, has_inter.inter, eq, finset, decidable_eq]), (finset.inter_val, [finset.nodup, multiset.ndinter_eq_inter, multiset.has_inter, finset.has_inter, has_inter.inter, finset.val, multiset, eq, finset, decidable_eq]), (finset.le_sup, [true.intro, iff_true_intro, iff.mpr, finset.insert_eq_of_mem, trivial, eq_self_iff_true, propext, finset.sup_insert, eq.refl, congr_arg, congr, eq.trans, id, true, eq, eq.mpr, lattice.le_sup_left, lattice.semilattice_sup.to_partial_order, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.has_insert, insert, trans_rel_left, classical.dec_eq, decidable_eq, finset.sup, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.has_mem, has_mem.mem, finset, lattice.semilattice_sup_bot]), (finset.map, [finset.map._proof_1, finset.val, function.has_coe_to_fun, coe_fn, multiset.map, finset.mk, finset, function.embedding]), (finset.map._proof_1, [finset.nodup, function.embedding.inj, multiset.nodup_map, finset.val, function.has_coe_to_fun, coe_fn, multiset.map, multiset.nodup, finset, function.embedding]), (finset.map_val, [rfl, function.has_coe_to_fun, coe_fn, multiset.map, finset.map, finset.val, multiset, eq, finset, function.embedding]), (finset.max, [option.some, option.none, finset.max._proof_2, finset.max._proof_1, max, option.lift_or_get, finset.fold, option, finset, decidable_linear_order]), (finset.max._proof_1, [lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, lattice.sup_is_commutative, option.lift_or_get_comm, max, option.lift_or_get, option, is_commutative, decidable_linear_order]), (finset.max._proof_2, [lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, lattice.sup_is_associative, option.lift_or_get_assoc, max, option.lift_or_get, option, is_associative, decidable_linear_order]), (finset.max.equations._eqn_1, [eq.refl, option.some, option.none, finset.max._proof_2, finset.max._proof_1, max, option.lift_or_get, finset.fold, finset.max, option, finset, eq, decidable_linear_order]), (finset.max_empty, [trivial, eq_self_iff_true, propext, eq.refl, finset.fold_empty, finset.max.equations._eqn_1, congr_fun, option.some, finset.max._proof_2, finset.max._proof_1, max, option.lift_or_get, finset.fold, congr_arg, congr, eq.trans, id, true, eq.mpr, option.none, finset.has_emptyc, finset, has_emptyc.emptyc, finset.max, option, eq, decidable_linear_order]), (finset.max_eq_none, [finset.max_empty, eq.symm, eq.subst, finset.max_of_ne_empty, option.no_confusion, eq_false_intro, option.mem_def, propext, eq.refl, congr_arg, congr, has_mem, option.some, eq.trans, eq.mp, id_rhs, false, Exists.dcases_on, option.has_mem, has_mem.mem, Exists, not, eq.decidable, finset.has_decidable_eq, by_contradiction, iff.intro, finset.has_emptyc, has_emptyc.emptyc, option.none, finset.max, option, eq, iff, finset, decidable_linear_order]), (finset.max_eq_sup_with_bot, [rfl, option.some, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, with_bot, finset.sup, finset.max, option, eq, finset, decidable_linear_order]), (finset.max_insert, [trivial, eq_self_iff_true, propext, eq.refl, max_idem, option.lift_or_get_idem, finset.fold_insert_idem, finset.max.equations._eqn_1, congr_fun, congr_arg, congr, option.none, finset.max._proof_2, finset.max._proof_1, finset.fold, eq.trans, id, true, eq.mpr, option.some, max, option.lift_or_get, eq.decidable, finset.has_insert, insert, finset.max, option, eq, finset, decidable_linear_order]), (finset.max_of_mem, [rfl, finset.le_sup, Exists.fst, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, option.some, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, with_bot, finset.sup, Exists.imp, finset.max, option.has_mem, option, Exists, finset.has_mem, has_mem.mem, finset, decidable_linear_order]), (finset.max_of_ne_empty, [finset.exists_mem_of_ne_empty, finset.max_of_mem, id_rhs, Exists.dcases_on, finset.has_mem, finset.max, option.has_mem, option, has_mem.mem, Exists, finset.has_emptyc, has_emptyc.emptyc, ne, finset, decidable_linear_order]), (finset.mem_attach, [finset.val, multiset.mem_attach, finset.attach, finset.has_mem, has_mem.mem, subtype, finset]), (finset.mem_bind, [trivial, iff_self, exists_prop, funext, multiset.mem_bind, multiset.mem_erase_dup, finset.bind_val, eq.refl, has_mem, finset.mem_def, propext, multiset.erase_dup, multiset.bind, congr_arg, congr, finset.val, multiset.has_mem, multiset, and, eq.trans, eq, id, true, eq.mpr, Exists, finset.bind, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_coe, [iff.rfl, finset.has_mem, finset.has_lift, lift_base, coe, set.has_mem, set, has_mem.mem, iff, finset]), (finset.mem_def, [iff.rfl, finset.val, multiset.has_mem, multiset, finset.has_mem, has_mem.mem, iff, finset]), (finset.mem_erase, [finset.nodup, finset.val, multiset.mem_erase_iff_of_nodup, ne, and, finset.erase, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_filter, [finset.val, multiset.mem_filter, and, finset.filter, finset.has_mem, has_mem.mem, iff, finset, decidable_pred]), (finset.mem_image, [trivial, iff_self, exists_prop, funext, multiset.mem_map, multiset.mem_erase_dup, finset.image_val, eq.refl, has_mem, finset.mem_def, propext, multiset.erase_dup, multiset.map, congr_arg, congr, finset.val, multiset.has_mem, multiset, and, eq.trans, id, true, eq.mpr, eq, Exists, finset.image, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_insert, [finset.val, multiset.mem_ndinsert, eq, or, finset.has_insert, insert, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_insert_of_mem, [trivial, or_true, iff_true_intro, eq.refl, congr_arg, congr, finset.mem_insert, propext, or, eq.trans, eq, id, true, eq.mpr, finset.has_insert, insert, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.mem_insert_self, [trivial, true_or, eq.refl, eq_self_iff_true, congr_arg, congr, finset.mem_insert, propext, or, eq.trans, eq, id, true, eq.mpr, finset.has_insert, insert, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.mem_inter, [finset.val, multiset.mem_ndinter, and, finset.has_inter, has_inter.inter, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_map, [trivial, iff_self, exists_prop, funext, multiset.mem_map, finset.map_val, eq.refl, has_mem, finset.mem_def, propext, multiset.map, congr_arg, congr, finset.val, multiset.has_mem, multiset, and, eq.trans, id, true, eq.mpr, function.has_coe_to_fun, coe_fn, eq, Exists, finset.map, finset.has_mem, has_mem.mem, iff, finset, function.embedding]), (finset.mem_map_of_mem, [rfl, Exists.intro, finset.mem_map, eq, Exists, iff.mpr, finset.map, function.has_coe_to_fun, coe_fn, finset.has_mem, has_mem.mem, finset, function.embedding]), (finset.mem_mk, [iff.rfl, multiset.has_mem, finset.mk, finset.has_mem, finset, has_mem.mem, iff, multiset.nodup, multiset]), (finset.mem_of_max, [finset.mem_insert_of_mem, option.some.inj_eq, finset.max_insert, eq.mp, absurd, max_choice, option.lift_or_get_choice, or, max, option.lift_or_get, or.dcases_on, finset.mem_insert_self, eq.drec, dite, finset.has_insert, insert, trivial, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, finset.not_mem_empty, iff_false_intro, option.no_confusion, eq_false_intro, option.mem_def, propext, finset.max_empty, eq.refl, congr_arg, congr, has_mem, option.some, option.none, imp_congr_eq, false, forall_congr_eq, eq.trans, eq, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, eq.decidable, finset.induction_on, finset.has_mem, finset.max, option.has_mem, option, has_mem.mem, finset, decidable_linear_order]), (finset.mem_of_mem_erase, [finset.val, multiset.mem_of_mem_erase, finset.erase, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.mem_product, [finset.val, multiset.mem_product, prod.snd, prod.fst, and, finset.product, finset.has_mem, has_mem.mem, iff, prod, finset]), (finset.mem_range, [multiset.mem_range, nat.has_lt, has_lt.lt, finset.range, finset.has_mem, finset, has_mem.mem, iff, nat]), (finset.mem_range_iff_mem_finset_range_of_mod_eq, [iff.mpr, int.coe_nat_lt_coe_nat_of_lt, int.coe_zero_le, int.mod_eq_of_lt, and.dcases_on, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_gt, int.mod_nonneg, int.mod_lt_of_pos, and.intro, int.to_nat_of_nonneg, int.coe_nat_lt, eq.symm, eq.rec, int.to_nat, Exists.intro, int.has_le, has_le.le, id_rhs, Exists.dcases_on, iff.intro, int.has_zero, int.has_lt, eq.mp, eq.refl, finset.mem_range, exists_prop, funext, finset.mem_image, eq.trans, set.mem_range, propext, congr_arg, congr, id, eq.mpr, and, Exists, finset.range, finset.image, finset.has_mem, finset, set.range, set.has_mem, set, has_mem.mem, iff, int.has_coe, coe_base, coe_to_lift, coe, int.has_mod, has_mod.mod, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, int, decidable_eq]), (finset.mem_sdiff, [finset.nodup, finset.val, multiset.mem_sub_of_nodup, not, and, finset.has_sdiff, has_sdiff.sdiff, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_singleton, [trivial, iff_self, multiset.mem_singleton, finset.mem_mk, propext, finset.singleton.equations._eqn_1, eq.refl, has_mem, multiset.nodup_singleton, finset.mk, multiset.has_zero, has_zero.zero, multiset.cons, multiset.has_mem, multiset, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, finset.singleton, finset.has_mem, finset, has_mem.mem, iff]), (finset.mem_union, [finset.val, multiset.mem_ndunion, or, finset.has_union, has_union.union, finset.has_mem, has_mem.mem, iff, finset, decidable_eq]), (finset.mem_union_left, [trivial, true_or, eq.refl, iff_true_intro, congr_arg, congr, finset.mem_union, propext, or, eq.trans, eq, id, true, eq.mpr, finset.has_union, has_union.union, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.mem_union_right, [trivial, or_true, iff_true_intro, eq.refl, congr_arg, congr, finset.mem_union, propext, or, eq.trans, eq, id, true, eq.mpr, finset.has_union, has_union.union, finset.has_mem, has_mem.mem, finset, decidable_eq]), (finset.mem_univ, [fintype.complete, finset.univ, finset.has_mem, finset, has_mem.mem, fintype]), (finset.mem_univ_val, [finset.mem_univ, finset.univ, finset.val, multiset.has_mem, multiset, has_mem.mem, fintype]), (finset.mk, [finset, multiset.nodup, multiset]), (finset.mul_sum, [semiring.to_distrib, mul_add, mul_zero, finset.sum_hom, eq.symm, semiring.to_add_comm_monoid, finset.sum, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring, finset]), (finset.ne_empty_of_mem, [eq.subst, finset.not_mem_empty, false, id_rhs, eq, finset.has_emptyc, has_emptyc.emptyc, ne, finset.has_mem, has_mem.mem, finset]), (finset.nodup, [finset.val, multiset.nodup, finset]), (finset.not_mem_empty, [id, finset.has_emptyc, has_emptyc.emptyc, finset.has_mem, finset, has_mem.mem, not]), (finset.not_mem_erase, [trivial, not_false_iff, false_and, eq.refl, not_true, eq_self_iff_true, ne.def, congr, finset.mem_erase, propext, ne, and, congr_arg, false, eq.trans, eq, id, true, eq.mpr, finset.erase, finset.has_mem, has_mem.mem, not, finset, decidable_eq]), (finset.not_mem_range_self, [multiset.not_mem_range_self, finset.range, finset.has_mem, finset, has_mem.mem, not, nat]), (finset.prod, [finset.val, multiset.map, multiset.prod, finset, comm_monoid]), (finset.prod.equations._eqn_1, [eq.refl, finset.val, multiset.map, multiset.prod, finset.prod, eq, finset, comm_monoid]), (finset.prod_attach, [finset.attach_image_val, subtype.eq, finset.prod_image, eq.refl, eq.rec, id, eq.mpr, classical.dec_eq, finset.image, eq.trans, subtype.val, finset.attach, finset.has_mem, has_mem.mem, subtype, finset.prod, eq, comm_monoid, finset]), (finset.prod_bij, [Exists.intro, congr, has_mem, id_rhs, Exists.dcases_on, not_imp_comm, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, not, iff.mp, eq.rec, bex_imp_distrib, eq.refl, subtype.exists, exists_prop_of_true, true.intro, finset.mem_attach, iff_true_intro, true, iff.mpr, funext, congr_arg, finset.mem_image, imp_congr_eq, forall_congr_eq, finset.subset_iff, propext, id, subtype.mk, finset.has_subset, has_subset.subset, eq.mpr, finset.prod_subset, subtype.eq, finset.prod_image, rfl, finset.prod_congr, finset.prod_attach, eq.symm, finset.attach, subtype.property, subtype.val, classical.prop_decidable, subtype, finset.image, eq.trans, finset.prod, Exists, eq, finset.has_mem, has_mem.mem, finset, comm_monoid]), (finset.prod_bind, [and_self, iff_true_intro, eq.symm, eq.subst, finset.mem_insert_of_mem, finset.mem_insert_self, eq.rec, eq.mp, not_exists, not_and, iff_false, exists_prop, funext, finset.mem_bind, finset.mem_inter, and, Exists, finset.ext, iff, not_congr, iff.trans, finset.prod_insert, has_mul, finset.prod_union, finset.bind_insert, finset.has_union, has_union.union, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.has_insert, insert, trivial, forall_prop_of_true, eq_self_iff_true, finset.prod_empty, finset.bind_empty, finset.prod_congr, congr_arg, congr, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, forall_true_iff, not_false_iff, iff.mpr, forall_prop_of_false, eq.refl, ne.def, not, finset.not_mem_empty, iff_false_intro, propext, false, forall_congr_eq, imp_congr_eq, true.intro, eq.trans, id, true, eq.mpr, classical.dec_eq, finset.induction_on, finset.bind, finset.prod, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, ne, finset.has_mem, has_mem.mem, finset, decidable_eq, comm_monoid]), (finset.prod_congr, [monoid.to_has_one, has_one.one, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.fold_congr, eq.refl, eq.rec, id, eq.mpr, finset.prod, finset.has_mem, has_mem.mem, eq, comm_monoid, finset]), (finset.prod_const, [trivial, forall_2_true_iff, forall_true_iff, eq_self_iff_true, propext, mul_comm, pow_one, pow_add, finset.card_insert_of_not_mem, has_pow, nat.has_add, has_add.add, nat.has_one, has_one.one, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, has_mul, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, finset.prod_insert, congr_arg, congr, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.refl, imp_congr_ctx_eq, forall_congr_eq, eq.trans, id, true, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, eq.mpr, finset.has_emptyc, has_emptyc.emptyc, rfl, classical.dec_eq, finset.induction_on, finset.card, comm_monoid.to_monoid, monoid.has_pow, nat, has_pow.pow, finset.prod, eq, comm_monoid, finset]), (finset.prod_const_one, [trivial, eq_self_iff_true, propext, eq.refl, one_pow, multiset.prod_repeat, multiset.map_const, multiset, finset.prod.equations._eqn_1, multiset.map, multiset.repeat, multiset.prod, finset.val, multiset.card, monoid.has_pow, nat, has_pow.pow, congr_arg, congr, eq.trans, id, true, eq.mpr, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, finset.prod, eq, comm_monoid, finset]), (finset.prod_empty, [rfl, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, finset.has_emptyc, finset, has_emptyc.emptyc, finset.prod, eq, comm_monoid]), (finset.prod_eq_zero_iff, [forall_true_iff, mul_eq_zero_iff_eq_zero_or_eq_zero, no_zero_divisors.to_has_mul, finset.prod_insert, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, integral_domain.to_no_zero_divisors, imp_congr_ctx_eq, finset.exists_mem_insert, or, bex_def, eq.rec, and, finset.has_insert, insert, trivial, iff_self, exists_false, true.intro, not_false_iff, finset.not_mem_empty, not_congr, iff.trans, iff.mpr, exists_prop_of_false, not, funext, one_ne_zero, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_zero, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, propext, eq.refl, finset.prod_empty, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, congr_arg, congr, false, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, finset.has_mem, has_mem.mem, Exists, integral_domain.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, finset.prod, eq, iff, integral_domain, decidable_eq, finset]), (finset.prod_hom, [finset.fold_hom, eq.refl, eq.rec, id, eq.mpr, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, finset.fold, eq.trans, finset.prod, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, eq, comm_monoid, finset]), (finset.prod_image, [monoid.to_has_one, has_one.one, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.fold_image, finset.image, finset.prod, eq, finset.has_mem, has_mem.mem, finset, decidable_eq, comm_monoid]), (finset.prod_insert, [monoid.to_has_one, has_one.one, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, finset.fold_insert, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.has_insert, insert, finset.prod, eq, finset.has_mem, has_mem.mem, not, decidable_eq, comm_monoid, finset]), (finset.prod_involution, [finset.exists_mem_of_ne_empty, finset.mem_of_mem_erase, trivial, eq.drec, and_false, false_and, not_true, eq_self_iff_true, has_mem, false, finset.erase_subset, finset.subset.trans, finset.has_subset, has_subset.subset, mul_one, and.intro, finset.not_mem_erase, finset.prod_insert, finset.insert_erase, eq.rec, id, finset.has_insert, insert, absurd, of_not_not, eq.mpr, or_iff_not_imp_left, iff.mpr, not_not, eq.refl, imp_congr_eq, not_and, and_true, iff_true_intro, true, ne.def, congr, finset.mem_erase, propext, congr_arg, and, eq.trans, eq.mp, ne.decidable, not_or_of_imp, or.dcases_on, one_mul, or.elim, or, finset.prod_subset, finset.erase, id_rhs, Exists.dcases_on, Exists, not, rfl, eq.symm, eq.subst, classical.dec_eq, finset.has_decidable_eq, finset.has_emptyc, has_emptyc.emptyc, dite, finset.has_ssubset, has_ssubset.ssubset, finset.strong_induction_on, finset.prod, ne, monoid.to_has_one, has_one.one, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, finset.has_mem, has_mem.mem, finset, comm_monoid]), (finset.prod_mul_distrib, [finset.fold_op_distrib, mul_one, eq.rec, eq.drec, is_associative, is_commutative, eq.refl, congr_arg, congr, id, eq.mpr, monoid.to_has_one, has_one.one, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, finset.fold, eq.trans, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.prod, eq, comm_monoid, finset]), (finset.prod_pow, [forall_2_true_iff, forall_true_iff, mul_pow, has_mul, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, finset.prod_insert, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, imp_congr_ctx_eq, forall_congr_eq, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, trivial, eq_self_iff_true, propext, one_pow, eq.refl, has_pow, finset.prod_empty, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, classical.dec_eq, finset.induction_on, comm_monoid.to_monoid, monoid.has_pow, has_pow.pow, finset.prod, eq, nat, finset, comm_monoid]), (finset.prod_prod_mk, [trivial, forall_2_true_iff, forall_true_iff, and_self, and.elim_right, prod.snd_mul, eq_self_iff_true, and.elim_left, has_mul, prod.fst_mul, prod.has_mul, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, finset.prod_insert, congr_arg, congr, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, prod.ext_iff, propext, and, eq.refl, imp_congr_ctx_eq, forall_congr_eq, eq.trans, id, true, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, eq.mpr, finset.has_emptyc, has_emptyc.emptyc, rfl, classical.dec_eq, finset.induction_on, prod.snd, prod.fst, prod.mk, prod.comm_monoid, finset.prod, eq, prod, finset, comm_monoid]), (finset.prod_product, [trivial, true.intro, forall_true_iff, imp_self, true_and, eq_self_iff_true, and_congr, iff.refl, imp_congr, forall_congr, iff.trans, finset.prod_image, finset.prod_congr, true, eq.symm, eq_true_intro, of_eq_true, prod.mk.inj_iff, prod.forall, and_imp, exists_imp_distrib, not_exists, imp_congr_eq, not_and, iff_false, finset.not_mem_empty, iff_false_intro, exists_prop, funext, finset.mem_image, finset.mem_inter, propext, congr_arg, congr, false, Exists, and, forall_congr_eq, eq.trans, not, finset.ext, iff, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, iff.mpr, ne, finset.has_mem, has_mem.mem, finset.prod_bind, finset.product_eq_bind, eq.refl, eq.rec, id, finset.image, classical.dec_eq, prod.decidable_eq, finset.bind, eq.mpr, prod.mk, finset.product, finset.prod, eq, prod, finset, comm_monoid]), (finset.prod_range_id_eq_fact, [nat.fact_succ, has_mul, true.intro, not_false_iff, finset.not_mem_range_self, iff_false_intro, not_congr, iff.trans, finset.prod_insert, nat.has_mul, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.fact_zero, finset.prod_empty, finset.range_zero, nat.nat_zero_eq_zero, finset.prod_congr, finset.has_emptyc, has_emptyc.emptyc, nat.has_one, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, nat.zero, nat.rec, false, absurd, or.dcases_on, finset.mem_insert, finset.range_succ, eq.drec, decidable_eq, has_mem, finset.has_insert, insert, or, and.dcases_on, nat.pos_iff_ne_zero, gt, nat.succ_pred_eq_of_pos, ne.def, not, and.elim_right, iff_true_intro, eq.refl, congr_arg, congr, has_lt, nat.lt_of_succ_lt_succ, Exists, Exists.intro, nat.pred, nat.succ_inj, trivial, nat.inhabited, forall_const, forall_true_iff, eq_self_iff_true, nat.succ.inj_eq, imp_congr_eq, forall_congr_eq, id, true, eq.mpr, propext, eq.mp, nat.succ_lt_succ, finset.mem_range, nat.has_lt, has_lt.lt, nat.succ_ne_zero, and.intro, finset.mem_erase, ne, and, iff.mpr, finset.has_mem, finset, has_mem.mem, finset.prod_bij, eq.symm, eq.trans, nat.fact, nat.has_zero, has_zero.zero, nat.succ, finset.range, nat.decidable_eq, finset.erase, nat.comm_monoid, finset.prod, eq, nat]), (finset.prod_sdiff, [finset.sdiff_union_of_subset, finset.sdiff_inter_self, finset.prod_union, eq.symm, eq.refl, eq.rec, id, finset.has_union, has_union.union, eq.mpr, finset.has_sdiff, has_sdiff.sdiff, finset.prod, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, finset.has_subset, has_subset.subset, decidable_eq, comm_monoid, finset]), (finset.prod_subset, [forall_true_iff, not_false_iff, and.elim_right, iff_false_intro, not_congr, false, iff.trans, true.intro, and.elim_left, iff_true_intro, iff.mpr, finset.mem_sdiff, imp_congr_ctx_eq, and, forall_congr_eq, rfl, finset.prod_congr, trivial, eq_self_iff_true, propext, one_mul, finset.prod_const_one, has_mul, congr_arg, congr, eq.trans, true, finset.prod_sdiff, eq.symm, eq.refl, eq.rec, id, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mpr, classical.dec_eq, finset.has_sdiff, has_sdiff.sdiff, finset.prod, comm_monoid.to_monoid, monoid.to_has_one, has_one.one, eq, not, finset.has_mem, has_mem.mem, finset.has_subset, has_subset.subset, comm_monoid, finset]), (finset.prod_union, [trivial, eq_self_iff_true, propext, mul_one, finset.prod_empty, has_mul, monoid.to_has_one, has_one.one, congr_arg, congr, eq.trans, true, finset.prod_union_inter, eq.symm, eq.refl, eq.rec, id, eq.mpr, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, finset.has_union, has_union.union, finset.prod, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, decidable_eq, comm_monoid, finset]), (finset.prod_union_inter, [monoid.to_has_one, has_one.one, semigroup_to_is_associative, comm_monoid.to_comm_semigroup, comm_semigroup_to_is_commutative, finset.fold_union_inter, finset.has_inter, has_inter.inter, finset.has_union, has_union.union, finset.prod, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, decidable_eq, comm_monoid, finset]), (finset.product, [finset.product._proof_1, finset.val, multiset.product, finset.mk, prod, finset]), (finset.product._proof_1, [finset.nodup, multiset.nodup_product, finset.val, multiset.product, prod, multiset.nodup, finset]), (finset.product_eq_bind, [trivial, forall_2_true_iff, iff_self, exists_eq_left, exists_eq_right, exists_and_distrib_left, and.left_comm, prod.mk.inj_iff, eq.refl, prod.forall, exists_prop, finset.mem_image, funext, finset.mem_bind, finset.mem_product, propext, congr_arg, congr, forall_congr_eq, Exists, prod.snd, prod.fst, and, eq.trans, id, true, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, prod.mk, finset.image, prod.decidable_eq, finset.bind, finset.product, prod, eq, finset, decidable_eq]), (finset.range, [multiset.nodup_range, multiset.range, finset.mk, finset, nat]), (finset.range_subset, [multiset.range_subset, nat.has_le, has_le.le, finset.range, finset.has_subset, finset, has_subset.subset, iff, nat]), (finset.range_succ, [trivial, eq_self_iff_true, multiset.cons_inj_right, propext, true.intro, not_false_iff, multiset.not_mem_range_self, iff_false_intro, not_congr, false, iff.trans, multiset.has_mem, has_mem.mem, not, iff.mpr, multiset.ndinsert_of_not_mem, eq.refl, eq.drec, decidable_eq, finset.insert_val, multiset.ndinsert, multiset.range_succ, finset.range_val, congr_arg, congr, multiset.cons, multiset.range, eq.trans, id, true, finset.val, multiset, eq.mpr, finset.eq_of_veq, nat.decidable_eq, finset.has_insert, insert, nat.succ, finset.range, finset, eq, nat]), (finset.range_val, [rfl, multiset.range, finset.range, finset.val, multiset, eq, nat]), (finset.range_zero, [rfl, finset.has_emptyc, has_emptyc.emptyc, nat.has_zero, has_zero.zero, finset.range, nat, finset, eq]), (finset.rec, [finset.mk, multiset.nodup, multiset, finset]), (finset.sdiff_inter_self, [trivial, eq_self_iff_true, propext, eq.refl, finset.inter_sdiff_self, finset.inter_comm, congr_arg, congr, eq.trans, id, true, eq.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.has_sdiff, has_sdiff.sdiff, finset.has_inter, has_inter.inter, eq, finset, decidable_eq]), (finset.sdiff_union_of_subset, [or_iff_right_of_imp, and_true, finset.decidable_mem, dec_em, iff_true_intro, decidable, or_and_distrib_left, finset.mem_sdiff, finset.mem_union, propext, finset.union_comm, eq.refl, has_mem, not, true, and, eq.trans, congr_arg, congr, id, or, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset.has_sdiff, has_sdiff.sdiff, finset.has_union, has_union.union, eq, finset.has_subset, has_subset.subset, finset, decidable_eq]), (finset.singleton, [multiset.nodup_singleton, multiset.has_zero, multiset, has_zero.zero, multiset.cons, finset.mk, finset]), (finset.singleton.equations._eqn_1, [eq.refl, multiset.nodup_singleton, multiset.has_zero, multiset, has_zero.zero, multiset.cons, finset.mk, finset.singleton, finset, eq]), (finset.singleton_val, [rfl, multiset.has_zero, has_zero.zero, multiset.cons, finset.singleton, finset.val, multiset, eq]), (finset.strong_induction_on, [finset.val_lt_iff, finset.val, iff.mpr, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset.strong_induction_on, finset.mk, id_rhs, multiset.nodup, multiset, finset.cases_on, finset.has_ssubset, has_ssubset.ssubset, finset]), (finset.subset.antisymm, [iff.intro, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, eq, finset.has_subset, has_subset.subset, finset]), (finset.subset.trans, [finset.val, multiset.subset.trans, finset.has_subset, has_subset.subset, finset]), (finset.subset_iff, [iff.rfl, finset.has_mem, has_mem.mem, finset.has_subset, has_subset.subset, iff, finset]), (finset.subset_union_left, [finset.mem_union_left, finset.has_union, has_union.union, finset.has_subset, has_subset.subset, finset, decidable_eq]), (finset.subset_union_right, [finset.mem_union_right, finset.has_union, has_union.union, finset.has_subset, has_subset.subset, finset, decidable_eq]), (finset.sum, [finset.val, multiset.map, multiset.sum, finset, add_comm_monoid]), (finset.sum_add_distrib, [finset.fold_op_distrib, add_zero, eq.rec, eq.drec, is_associative, is_commutative, eq.refl, congr_arg, congr, id, eq.mpr, add_monoid.to_has_zero, has_zero.zero, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, finset.fold, eq.trans, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.sum, eq, add_comm_monoid, finset]), (finset.sum_attach, [finset.attach_image_val, subtype.eq, finset.sum_image, eq.refl, eq.rec, id, eq.mpr, classical.dec_eq, finset.image, eq.trans, subtype.val, finset.attach, finset.has_mem, has_mem.mem, subtype, finset.sum, eq, add_comm_monoid, finset]), (finset.sum_bij, [Exists.intro, congr, has_mem, id_rhs, Exists.dcases_on, not_imp_comm, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, not, iff.mp, eq.rec, bex_imp_distrib, eq.refl, subtype.exists, exists_prop_of_true, true.intro, finset.mem_attach, iff_true_intro, true, iff.mpr, funext, congr_arg, finset.mem_image, imp_congr_eq, forall_congr_eq, finset.subset_iff, propext, id, subtype.mk, finset.has_subset, has_subset.subset, eq.mpr, finset.sum_subset, subtype.eq, finset.sum_image, rfl, finset.sum_congr, finset.sum_attach, eq.symm, finset.attach, subtype.property, subtype.val, classical.prop_decidable, subtype, finset.image, eq.trans, finset.sum, Exists, eq, finset.has_mem, has_mem.mem, finset, add_comm_monoid]), (finset.sum_bind, [and_self, iff_true_intro, eq.symm, eq.subst, finset.mem_insert_of_mem, finset.mem_insert_self, eq.rec, eq.mp, not_exists, not_and, iff_false, exists_prop, funext, finset.mem_bind, finset.mem_inter, and, Exists, finset.ext, iff, not_congr, iff.trans, finset.sum_insert, has_add, finset.sum_union, finset.bind_insert, finset.has_union, has_union.union, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.has_insert, insert, trivial, forall_prop_of_true, eq_self_iff_true, finset.sum_empty, finset.bind_empty, finset.sum_congr, congr_arg, congr, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, forall_true_iff, not_false_iff, iff.mpr, forall_prop_of_false, eq.refl, ne.def, not, finset.not_mem_empty, iff_false_intro, propext, false, forall_congr_eq, imp_congr_eq, true.intro, eq.trans, id, true, eq.mpr, classical.dec_eq, finset.induction_on, finset.bind, finset.sum, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, ne, finset.has_mem, has_mem.mem, finset, decidable_eq, add_comm_monoid]), (finset.sum_comm, [forall_2_true_iff, forall_true_iff, finset.sum_add_distrib, has_add, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, finset.sum_insert, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, imp_congr_ctx_eq, forall_congr_eq, finset.has_insert, insert, not, trivial, eq_self_iff_true, propext, finset.sum_const_zero, finset.has_mem, has_mem.mem, eq.refl, finset.sum_congr, finset.sum_empty, congr_arg, congr, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, finset.sum, eq, finset, decidable_eq, add_comm_monoid]), (finset.sum_congr, [add_monoid.to_has_zero, has_zero.zero, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.fold_congr, eq.refl, eq.rec, id, eq.mpr, finset.sum, finset.has_mem, has_mem.mem, eq, add_comm_monoid, finset]), (finset.sum_const, [multiplicative.comm_monoid, multiplicative, finset.prod_const, finset.card, add_comm_monoid.to_add_monoid, add_monoid.smul, finset.sum, eq, add_comm_monoid, finset]), (finset.sum_const_zero, [multiplicative.comm_monoid, multiplicative, finset.prod_const_one, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, finset.sum, eq, add_comm_monoid, finset]), (finset.sum_empty, [rfl, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, finset.has_emptyc, finset, has_emptyc.emptyc, finset.sum, eq, add_comm_monoid]), (finset.sum_eq_single, [eq.subst, forall_prop_of_true, not_false_iff, finset.not_mem_empty, iff_false_intro, false, true.intro, finset.empty_subset, finset.has_emptyc, has_emptyc.emptyc, eq_self_iff_true, finset.sum_singleton, congr, ne.def, eq.mp, congr_arg, trivial, iff_true_intro, forall_eq, eq.refl, finset.mem_singleton, imp_congr_eq, forall_congr_eq, finset.subset_iff, propext, id, true, finset.has_subset, has_subset.subset, eq.mpr, finset.sum_subset, eq.symm, finset.singleton, eq.trans, classical.by_cases, finset.sum, not, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq, ne, finset.has_mem, has_mem.mem, finset, add_comm_monoid]), (finset.sum_hom, [finset.fold_hom, eq.refl, eq.rec, id, eq.mpr, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, finset.fold, eq.trans, finset.sum, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq, add_comm_monoid, finset]), (finset.sum_image, [add_monoid.to_has_zero, has_zero.zero, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.fold_image, finset.image, finset.sum, eq, finset.has_mem, has_mem.mem, finset, decidable_eq, add_comm_monoid]), (finset.sum_insert, [add_monoid.to_has_zero, has_zero.zero, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, finset.fold_insert, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.has_insert, insert, finset.sum, eq, finset.has_mem, has_mem.mem, not, decidable_eq, add_comm_monoid, finset]), (finset.sum_le_sum, [finset.mem_insert_of_mem, finset.mem_insert_self, add_le_add, trivial, iff_true_intro, not_congr, iff.trans, finset.sum_insert, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.has_insert, insert, le_refl, forall_prop_of_true, finset.sum_empty, congr_arg, congr, has_le, forall_true_iff, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, finset.not_mem_empty, iff_false_intro, propext, false, forall_congr_eq, imp_congr_eq, true.intro, true, eq.trans, eq, id, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, ordered_comm_monoid.to_add_comm_monoid, finset.sum, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.has_mem, has_mem.mem, ordered_cancel_comm_monoid, decidable_eq, finset]), (finset.sum_mul, [semiring.to_distrib, add_mul, zero_mul, finset.sum_hom, eq.symm, semiring.to_add_comm_monoid, finset.sum, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring, finset]), (finset.sum_sdiff, [finset.sdiff_union_of_subset, finset.sdiff_inter_self, finset.sum_union, eq.symm, eq.refl, eq.rec, id, finset.has_union, has_union.union, eq.mpr, finset.has_sdiff, has_sdiff.sdiff, finset.sum, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, finset.has_subset, has_subset.subset, decidable_eq, add_comm_monoid, finset]), (finset.sum_singleton, [trivial, eq_self_iff_true, propext, eq.refl, add_zero, congr_arg, congr, id, true, eq.mpr, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, finset.fold_singleton, add_monoid.to_has_zero, has_zero.zero, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.trans, finset.singleton, finset.sum, eq, add_comm_monoid]), (finset.sum_subset, [forall_true_iff, not_false_iff, and.elim_right, iff_false_intro, not_congr, false, iff.trans, true.intro, and.elim_left, iff_true_intro, iff.mpr, finset.mem_sdiff, imp_congr_ctx_eq, and, forall_congr_eq, rfl, finset.sum_congr, trivial, eq_self_iff_true, propext, zero_add, finset.sum_const_zero, has_add, congr_arg, congr, eq.trans, true, finset.sum_sdiff, eq.symm, eq.refl, eq.rec, id, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, classical.dec_eq, finset.has_sdiff, has_sdiff.sdiff, finset.sum, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq, not, finset.has_mem, has_mem.mem, finset.has_subset, has_subset.subset, add_comm_monoid, finset]), (finset.sum_union, [trivial, eq_self_iff_true, propext, add_zero, finset.sum_empty, has_add, add_monoid.to_has_zero, has_zero.zero, congr_arg, congr, eq.trans, true, finset.sum_union_inter, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finset.has_union, has_union.union, finset.sum, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, eq, decidable_eq, add_comm_monoid, finset]), (finset.sum_union_inter, [add_monoid.to_has_zero, has_zero.zero, add_semigroup_to_is_associative, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup_to_is_commutative, finset.fold_union_inter, finset.has_inter, has_inter.inter, finset.has_union, has_union.union, finset.sum, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, decidable_eq, add_comm_monoid, finset]), (finset.sup, [lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, finset.sup._proof_2, finset.sup._proof_1, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.fold, finset, lattice.semilattice_sup_bot]), (finset.sup._proof_1, [lattice.sup_is_commutative, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, is_commutative, lattice.semilattice_sup_bot]), (finset.sup._proof_2, [lattice.sup_is_associative, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, is_associative, lattice.semilattice_sup_bot]), (finset.sup_empty, [finset.sup._proof_2, finset.sup._proof_1, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.fold_empty, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, finset.has_emptyc, finset, has_emptyc.emptyc, finset.sup, eq, lattice.semilattice_sup_bot]), (finset.sup_insert, [lattice.sup_is_idempotent, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, finset.sup._proof_2, finset.sup._proof_1, finset.fold_insert_idem, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.has_insert, insert, finset.sup, eq, decidable_eq, finset, lattice.semilattice_sup_bot]), (finset.sup_le, [forall_2_true_iff, and_self, or_true, iff.refl, imp_congr_ctx, forall_congr, or_false, eq_self_iff_true, or_congr, iff.trans, lattice.sup_le_iff, finset.sup_insert, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_partial_order, and, finset.mem_insert, or, imp_congr_ctx_eq, finset.has_insert, insert, trivial, forall_prop_of_true, lattice.bot_le, iff_true_intro, lattice.order_bot, finset.sup_empty, congr_arg, congr, has_le, lattice.order_bot.to_has_bot, lattice.has_bot.bot, forall_true_iff, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, finset.not_mem_empty, iff_false_intro, propext, false, forall_congr_eq, imp_congr_eq, true.intro, eq.trans, eq, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, classical.dec_eq, decidable_eq, finset.sup, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.has_mem, has_mem.mem, finset, lattice.semilattice_sup_bot]), (finset.sup_mono, [finset.le_sup, finset.has_mem, has_mem.mem, finset.sup_le, finset.sup, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.has_subset, has_subset.subset, finset, lattice.semilattice_sup_bot]), (finset.sup_mono_fun, [forall_2_true_iff, or_true, iff.refl, imp_congr_ctx, forall_congr, or_false, or_congr, iff.trans, lattice.sup_le_sup, iff_true_intro, lattice.semilattice_sup, lattice.semilattice_sup.to_partial_order, finset.sup_insert, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.mem_insert, or, imp_congr_ctx_eq, finset.has_insert, insert, trivial, forall_prop_of_true, eq_self_iff_true, lattice.le_bot_iff, finset.sup_empty, congr_arg, congr, has_le, lattice.order_bot.to_has_bot, lattice.has_bot.bot, forall_true_iff, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, finset.not_mem_empty, iff_false_intro, propext, false, forall_congr_eq, imp_congr_eq, true.intro, eq.trans, eq, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, classical.dec_eq, decidable_eq, finset.sup, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, finset.has_mem, has_mem.mem, finset, lattice.semilattice_sup_bot]), (finset.sup_union, [lattice.sup_is_commutative, is_commutative.comm, lattice.sup_is_associative, is_associative.assoc, eq.symm, eq_true_intro, of_eq_true, finset.sup_insert, has_insert, finset.insert_union, finset.union_comm, imp_congr_ctx_eq, forall_congr_eq, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, trivial, eq_self_iff_true, propext, lattice.bot_sup_eq, finset.sup_empty, lattice.has_sup, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, eq.refl, finset.empty_union, congr_arg, congr, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, finset.has_union, has_union.union, finset.sup, eq, decidable_eq, finset, lattice.semilattice_sup_bot]), (finset.surj_on_of_inj_on_of_card_le, [subtype.eq, subtype.mk, subtype.cases_on, finset.card_image_of_injective, finset.card_attach, trivial, iff_true_intro, propext, congr_arg, congr, has_le, eq.trans, id, true, eq.mpr, eq.subst, id_rhs, finset.eq_of_subset_of_card_le, coe_subtype, coe_base, coe_to_lift, coe, Exists.intro, eq.symm, eq.refl, eq.rec, eq.mp, finset.mem_image, iff.mp, Exists.dcases_on, finset.attach, subtype.property, subtype.val, classical.dec_eq, subtype, finset.image, Exists, finset.card, nat.has_le, nat, has_le.le, eq, finset.has_mem, has_mem.mem, finset]), (finset.to_set, [finset.has_mem, has_mem.mem, set_of, set, finset]), (finset.union_assoc, [trivial, forall_true_iff, iff_self, or_comm, or.left_comm, finset.mem_union, or, forall_congr_eq, finset.ext, propext, eq.refl, finset.union_comm, congr_arg, congr, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.union_comm, [trivial, forall_true_iff, iff_self, or_comm, finset.mem_union, congr_arg, congr, or, forall_congr_eq, finset.ext, propext, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.union_empty, [trivial, forall_true_iff, iff_self, or_false, finset.not_mem_empty, iff_false_intro, eq.refl, finset.mem_union, false, or, congr_arg, congr, forall_congr_eq, finset.ext, propext, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_emptyc, has_emptyc.emptyc, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.union_insert, [trivial, forall_true_iff, iff_self, or.left_comm, finset.mem_insert, eq.refl, finset.mem_union, congr_arg, congr, or, forall_congr_eq, finset.ext, propext, finset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, finset.has_insert, insert, finset.has_union, has_union.union, eq, finset, decidable_eq]), (finset.union_val, [finset.nodup, multiset.ndunion_eq_union, multiset.has_union, finset.has_union, has_union.union, finset.val, multiset, eq, finset, decidable_eq]), (finset.univ, [fintype.elems, finset, fintype]), (finset.univ.equations._eqn_1, [eq.refl, fintype.elems, finset.univ, finset, eq, fintype]), (finset.val, [multiset, finset]), (finset.val_eq_zero, [finset.val_inj, finset.has_emptyc, has_emptyc.emptyc, multiset.has_zero, has_zero.zero, finset.val, multiset, eq, iff, finset]), (finset.val_inj, [congr_arg, finset.eq_of_veq, iff.intro, finset.val, multiset, eq, iff, finset]), (finset.val_le_iff, [finset.nodup, multiset.le_iff_subset, finset.has_subset, has_subset.subset, finset.val, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, multiset, has_le.le, iff, finset]), (finset.val_lt_iff, [not_congr, finset.val_le_iff, finset.has_subset, has_subset.subset, not, multiset.le, has_le.mk, has_le.le, and_congr, finset.has_ssubset, has_ssubset.ssubset, finset.val, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, multiset, has_lt.lt, iff, finset]), (finsupp, [has_zero]), (finsupp.add_apply, [rfl, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_add, has_add.add, finsupp.has_coe_to_fun, coe_fn, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_comm_group, [finsupp.add_comm_group._proof_5, finsupp.add_comm_group._proof_4, add_group.neg, finsupp.add_comm_group._proof_3, finsupp.add_comm_group._proof_2, add_group.zero, finsupp.add_comm_group._proof_1, finsupp.add_group, add_group.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_group._proof_1, [add_group.add_assoc, finsupp.add_group, add_group.add, has_add.mk, has_add.add, eq, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_group._proof_2, [add_group.zero_add, add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, finsupp.add_group, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_group._proof_3, [add_group.add_zero, add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, finsupp.add_group, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_group._proof_4, [add_group.add_left_neg, has_zero.zero, add_group.neg, has_neg.mk, has_neg.neg, add_group.add_zero, add_group.zero_add, add_group.zero, add_group.add_assoc, finsupp.add_group, add_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_group._proof_5, [add_comm, add_comm_group.to_add_comm_monoid, finsupp.add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_group, decidable_eq]), (finsupp.add_comm_monoid, [finsupp.add_comm_monoid._proof_4, finsupp.add_comm_monoid._proof_3, finsupp.add_comm_monoid._proof_2, add_monoid.zero, finsupp.add_comm_monoid._proof_1, finsupp.add_monoid, add_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._match_1, [finsupp.has_coe_to_fun, coe_fn, add_comm_monoid.to_add_comm_semigroup, add_comm, finsupp.ext, id_rhs, finsupp.cases_on, finsupp.mk, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, finsupp, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._match_2, [finsupp.add_comm_monoid._match_1, finsupp.mk, id_rhs, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._proof_1, [add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, has_add.mk, has_add.add, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._proof_2, [add_monoid.zero_add, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._proof_3, [add_monoid.add_zero, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_comm_monoid._proof_4, [finsupp.add_comm_monoid._match_2, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.add_group, [finsupp.add_group._proof_4, neg_zero, add_group.to_has_neg, has_neg.neg, finsupp.map_range, finsupp.add_group._proof_3, finsupp.add_group._proof_2, add_monoid.zero, finsupp.add_group._proof_1, finsupp.add_monoid, add_monoid.add, add_group.mk, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_group._match_1, [finsupp.has_coe_to_fun, coe_fn, add_left_neg, finsupp.ext, finsupp.mk, id_rhs, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, has_zero.zero, neg_zero, add_group.to_has_neg, finsupp.map_range, has_neg.mk, has_neg.neg, add_monoid.add_zero, add_monoid.zero_add, add_monoid.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_group._proof_1, [add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, has_add.mk, has_add.add, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_group._proof_2, [add_monoid.zero_add, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_group._proof_3, [add_monoid.add_zero, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_group._proof_4, [finsupp.add_group._match_1, has_zero.zero, neg_zero, add_group.to_has_neg, finsupp.map_range, has_neg.mk, has_neg.neg, add_monoid.add_zero, add_monoid.zero_add, add_monoid.zero, add_monoid.add_assoc, finsupp.add_monoid, add_monoid.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.add_monoid, [finsupp.add_monoid._proof_3, finsupp.add_monoid._proof_2, finsupp.has_zero, has_zero.zero, finsupp.add_monoid._proof_1, finsupp.has_add, has_add.add, add_monoid.mk, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._match_1, [finsupp.has_coe_to_fun, coe_fn, add_monoid.to_add_semigroup, add_assoc, finsupp.ext, id_rhs, finsupp.cases_on, finsupp.mk, finsupp.has_add, has_add.mk, has_add.add, eq, finsupp, add_monoid.to_has_zero, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, add_monoid, decidable_eq]), (finsupp.add_monoid._match_2, [finsupp.add_monoid._match_1, id_rhs, finsupp.cases_on, finsupp.mk, finsupp.has_add, has_add.mk, has_add.add, eq, finsupp, add_monoid.to_has_zero, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, add_monoid, decidable_eq]), (finsupp.add_monoid._match_3, [finsupp.add_monoid._match_2, finsupp.mk, id_rhs, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, finsupp.has_add, has_add.mk, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._match_4, [finsupp.has_coe_to_fun, coe_fn, zero_add, finsupp.ext, finsupp.mk, id_rhs, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, finsupp.has_zero, has_zero.mk, has_zero.zero, finsupp.add_monoid._match_3, finsupp.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._match_5, [finsupp.has_coe_to_fun, coe_fn, add_zero, finsupp.ext, finsupp.mk, id_rhs, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, finsupp.has_zero, has_zero.mk, has_zero.zero, finsupp.add_monoid._match_3, finsupp.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._proof_1, [finsupp.add_monoid._match_3, finsupp.has_add, has_add.mk, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._proof_2, [finsupp.add_monoid._match_4, finsupp.has_zero, has_zero.mk, has_zero.zero, finsupp.add_monoid._match_3, finsupp.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.add_monoid._proof_3, [finsupp.add_monoid._match_5, finsupp.has_zero, has_zero.mk, has_zero.zero, finsupp.add_monoid._match_3, finsupp.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.cases_on, [finsupp.rec, finsupp.mk, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp, has_zero]), (finsupp.decidable_eq, [finset.decidable_dforall_finset, finset.has_decidable_eq, and.decidable, finsupp.decidable_eq._proof_1, finsupp.has_coe_to_fun, coe_fn, finset.has_mem, has_mem.mem, finsupp.support, finset, and, eq, decidable_of_iff, finsupp, decidable_eq, has_zero]), (finsupp.decidable_eq._match_1, [finsupp.mem_support_iff, not_not, propext, ne, eq.mp, eq.refl, eq.rec, id, eq.mpr, has_zero.zero, not, finset.decidable_mem, dite, finsupp.ext, id_rhs, and.dcases_on, finsupp.has_coe_to_fun, coe_fn, finset.has_mem, has_mem.mem, finsupp.support, finset, eq, and, finsupp, decidable_eq, has_zero]), (finsupp.decidable_eq._proof_1, [trivial, and_self, forall_true_iff, ne.def, finsupp.mem_support_iff, ne, imp_congr_eq, has_zero.zero, not, forall_congr_eq, eq_self_iff_true, propext, congr_arg, congr, eq.trans, id, true, eq.mpr, eq.rec, finsupp.decidable_eq._match_1, iff.intro, finsupp.has_coe_to_fun, coe_fn, finset.has_mem, has_mem.mem, finsupp.support, finset, eq, and, iff, finsupp, decidable_eq, has_zero]), (finsupp.erase, [finsupp.erase._proof_1, finsupp.has_coe_to_fun, coe_fn, has_zero.zero, eq, ite, finsupp.support, finset.erase, finsupp.mk, finsupp, has_zero, decidable_eq]), (finsupp.erase._proof_1, [if_false, true_and, not_false_iff, iff_false_intro, trivial, iff_self, if_true, if_simp_congr, iff.refl, eq.rec, decidable_of_decidable_of_iff, false_and, finsupp.mem_support_iff, not_true, eq_self_iff_true, ne.def, finset.mem_erase, propext, eq.refl, has_mem, not, and, congr_arg, congr, false, eq.trans, id, true, eq.mpr, dite, finsupp.has_coe_to_fun, coe_fn, has_zero.zero, eq, ite, ne, finsupp.support, finset.erase, finset.has_mem, finset, has_mem.mem, iff, finsupp, has_zero, decidable_eq]), (finsupp.erase_ne, [has_zero.zero, if_neg, finsupp.erase, finsupp.has_coe_to_fun, coe_fn, eq, ne, finsupp, has_zero, decidable_eq]), (finsupp.erase_same, [rfl, if_pos, has_zero.zero, finsupp.erase, finsupp.has_coe_to_fun, coe_fn, eq, finsupp, has_zero, decidable_eq]), (finsupp.ext, [funext, trivial, forall_true_iff, iff_self, ne.def, congr_arg, congr, not, forall_congr_eq, finset.ext, propext, eq.trans, id, true, eq.mpr, eq.refl, eq.rec, id_rhs, finsupp.mk, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp.cases_on, finsupp.has_coe_to_fun, coe_fn, eq, finsupp, has_zero]), (finsupp.has_add, [finsupp.has_add._proof_1, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finsupp.zip_with, has_add.mk, add_monoid.to_has_zero, finsupp, has_add, add_monoid, decidable_eq]), (finsupp.has_add._proof_1, [add_zero, add_monoid.to_has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_monoid]), (finsupp.has_coe_to_fun, [finsupp.to_fun, has_coe_to_fun.mk, finsupp, has_coe_to_fun, has_zero]), (finsupp.has_mul, [mul_zero_class.to_has_mul, has_mul.mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, has_mul.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, has_mul, semiring, has_add, decidable_eq]), (finsupp.has_one, [has_one.one, has_zero.zero, finsupp.single, has_one.mk, finsupp, has_one, has_zero, decidable_eq]), (finsupp.has_zero, [finsupp.has_zero._proof_1, has_zero.zero, finset.has_emptyc, finset, has_emptyc.emptyc, finsupp.mk, has_zero.mk, finsupp, has_zero]), (finsupp.has_zero._proof_1, [trivial, forall_true_iff, iff_self, not_true, eq_self_iff_true, ne.def, not, finset.not_mem_empty, iff_false_intro, propext, congr_arg, congr, false, forall_congr_eq, eq.trans, eq, id, true, eq.mpr, has_zero.zero, ne, finset.has_emptyc, has_emptyc.emptyc, finset.has_mem, finset, has_mem.mem, iff, has_zero]), (finsupp.map_range, [finsupp.map_range._proof_1, finsupp.has_coe_to_fun, coe_fn, function.comp, finsupp.support, finsupp.on_finset, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (finsupp.map_range._proof_1, [trivial, forall_true_iff, eq_self_iff_true, function.comp_app, congr_arg, congr, imp_congr_ctx_eq, eq.trans, true, not_imp_not, not, finsupp.mem_support_iff, propext, eq.refl, eq.rec, id, eq.mpr, finsupp.support, finset.has_mem, finset, has_mem.mem, finsupp.has_coe_to_fun, coe_fn, function.comp, ne, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (finsupp.mem_support_iff, [finsupp.mem_support_to_fun, has_zero.zero, finsupp.has_coe_to_fun, coe_fn, ne, finsupp.support, finset.has_mem, finset, has_mem.mem, iff, finsupp, has_zero]), (finsupp.mem_support_to_fun, [has_zero.zero, finsupp.to_fun, ne, finsupp.support, finset.has_mem, finset, has_mem.mem, iff, finsupp, has_zero]), (finsupp.mk, [finsupp, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, has_zero]), (finsupp.mul_def, [rfl, mul_zero_class.to_has_mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, has_add, decidable_eq]), (finsupp.mul_sum, [trivial, eq_self_iff_true, propext, finset.mul_sum, finsupp.sum.equations._eqn_1, eq.refl, has_mul, congr_arg, congr, finsupp.support, semiring.to_add_comm_monoid, finset.sum, eq.trans, id, true, eq.mpr, finsupp.has_coe_to_fun, coe_fn, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.sum, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring]), (finsupp.on_finset, [finsupp.on_finset._proof_1, ne.decidable, finset.filter, finsupp.mk, finsupp, finset.has_mem, has_mem.mem, has_zero.zero, ne, finset, has_zero, decidable_eq]), (finsupp.on_finset._proof_1, [and_self, true.intro, not_false_iff, iff_false_intro, iff.refl, iff.mpr, iff_true_intro, trivial, iff_self, and_false, not_true, eq_self_iff_true, finset.mem_filter, propext, eq.drec, eq.refl, has_mem, ne.def, funext, decidable_pred, eq.rec, not, and, congr_arg, congr, false, eq.trans, id, true, eq.mpr, eq, classical.by_cases, ne.decidable, finset.filter, iff, finset.has_mem, has_mem.mem, has_zero.zero, ne, finset, has_zero, decidable_eq]), (finsupp.on_finset.equations._eqn_1, [eq.refl, finsupp.on_finset._proof_1, ne.decidable, finset.filter, finsupp.mk, finsupp.on_finset, finsupp, eq, finset.has_mem, has_mem.mem, has_zero.zero, ne, finset, has_zero, decidable_eq]), (finsupp.one_def, [rfl, has_zero.zero, finsupp.single, finsupp.has_one, has_one.one, finsupp, eq, has_one, has_zero, decidable_eq]), (finsupp.rec, [finsupp.mk, has_zero.zero, ne, finset.has_mem, has_mem.mem, iff, finset, finsupp, has_zero]), (finsupp.single, [finsupp.single._proof_1, finset.has_insert, singleton, finset.has_emptyc, has_emptyc.emptyc, finset, has_zero.zero, eq, ite, finsupp.mk, finsupp, has_zero, decidable_eq]), (finsupp.single._proof_1, [ne.symm, iff_false, not_false_iff, finset.mem_singleton, if_false, trivial, iff_self, not_true, ne.def, not, finset.not_mem_empty, iff_false_intro, if_true, finset.insert_empty_eq_singleton, has_insert, has_emptyc, if_simp_congr, finset.singleton, eq_self_iff_true, propext, iff.refl, eq.rec, decidable_of_decidable_of_iff, eq.refl, has_mem, congr_arg, congr, false, eq.trans, id, true, eq.mpr, dite, ne, finset.has_insert, singleton, finset.has_emptyc, has_emptyc.emptyc, has_zero.zero, eq, ite, finset.has_mem, finset, has_mem.mem, iff, has_zero, decidable_eq]), (finsupp.single.equations._eqn_1, [eq.refl, finsupp.single._proof_1, finset.has_insert, singleton, finset.has_emptyc, has_emptyc.emptyc, finset, has_zero.zero, ite, finsupp.mk, finsupp.single, finsupp, eq, has_zero, decidable_eq]), (finsupp.single_add, [zero_add, finsupp.single_eq_of_ne, has_zero.zero, not, finsupp.single_eq_same, finsupp.add_apply, eq.refl, eq.rec, id, eq.mpr, finsupp.has_coe_to_fun, coe_fn, dite, finsupp.ext, finsupp.has_add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finsupp.single, add_monoid.to_has_zero, finsupp, eq, add_monoid, decidable_eq]), (finsupp.single_add_erase, [zero_add, ne.symm, finsupp.erase_ne, true.intro, not_false_iff, iff_false_intro, ne.def, false, iff.refl, iff, ne, iff.mpr, finsupp.single_eq_of_ne, not, trivial, eq_self_iff_true, propext, eq.refl, add_zero, finsupp.erase_same, finsupp.single_eq_same, has_add, finsupp.add_apply, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, id, true, eq.mpr, eq.rec, dite, finsupp.ext, finsupp.erase, finsupp.has_coe_to_fun, coe_fn, finsupp.single, finsupp.has_add, has_add.add, eq, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.single_apply, [rfl, has_zero.zero, ite, finsupp.single, finsupp.has_coe_to_fun, finsupp, coe_fn, eq, has_zero, decidable_eq]), (finsupp.single_eq_of_ne, [trivial, eq_self_iff_true, propext, if_false, eq.refl, if_simp_congr, finsupp.single_apply, iff_false_intro, decidable_of_decidable_of_iff, false, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, has_zero.zero, finsupp.single, finsupp.has_coe_to_fun, finsupp, coe_fn, eq, ne, has_zero, decidable_eq]), (finsupp.single_eq_same, [trivial, propext, if_true, eq.refl, if_simp_congr, finsupp.single_apply, has_zero.zero, eq_self_iff_true, decidable_of_decidable_of_iff, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, finsupp.single, finsupp.has_coe_to_fun, finsupp, coe_fn, eq, has_zero, decidable_eq]), (finsupp.single_mul_single, [trivial, zero_mul, true.intro, eq_self_iff_true, propext, finsupp.single_zero, mul_zero, eq.drec, has_zero, finsupp.has_zero, iff.refl, iff, eq.rec, has_zero.zero, iff.mpr, finsupp.sum_single_index, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, funext, eq.refl, add_comm_monoid, finsupp.mul_def, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, congr_arg, congr, eq.trans, id, true, eq.mpr, mul_zero_class.to_has_mul, has_add.add, finsupp.single, finsupp.has_mul, has_mul.mul, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, eq, semiring, has_add, decidable_eq]), (finsupp.single_zero, [finsupp.single_eq_of_ne, not, finsupp.zero_apply, finsupp.single_eq_same, eq.refl, eq.rec, id, eq.mpr, finsupp.has_coe_to_fun, coe_fn, dite, finsupp.ext, finsupp.has_zero, has_zero.zero, finsupp.single, finsupp, eq, has_zero, decidable_eq]), (finsupp.smul_apply', [rfl, module.to_has_scalar, finsupp.to_has_scalar', has_scalar.smul, finsupp.has_coe_to_fun, coe_fn, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.sum, [finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.sum, finsupp, add_comm_monoid, has_zero]), (finsupp.sum.equations._eqn_1, [eq.refl, finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.sum, finsupp.sum, eq, finsupp, add_comm_monoid, has_zero]), (finsupp.sum_add, [finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.sum_add_distrib, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finsupp.sum, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.sum_add_index, [finset.subset_union_left, finset.subset_union_right, eq.symm, eq.rec, finset.sum_add_distrib, finset.sum_congr, trivial, forall_true_iff, eq_self_iff_true, not_not, eq.refl, finsupp.add_apply, ne.def, finsupp.mem_support_iff, ne, congr_arg, congr, finset.mem_union, propext, imp_congr_ctx_eq, or, forall_congr_eq, id, true, not, finset.has_mem, has_mem.mem, eq.mpr, finsupp.support_add, finset.sum_subset, eq.trans, finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.has_union, finset, has_union.union, finset.sum, finsupp.has_add, finsupp.sum, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_zero.zero, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.sum_apply, [add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_zero.zero, rfl, finset.sum_hom, finsupp.support, finset.sum, eq.symm, finsupp.add_comm_monoid, finsupp.sum, finsupp.has_coe_to_fun, coe_fn, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, has_zero, decidable_eq]), (finsupp.sum_finset_sum_index, [forall_2_true_iff, forall_3_true_iff, forall_true_iff, iff.refl, iff, eq.rec, forall_congr, finsupp.sum_add_index, has_add, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, finset.sum_insert, imp_congr_ctx_eq, forall_congr_eq, finset.has_insert, insert, finset.has_mem, has_mem.mem, not, trivial, eq_self_iff_true, propext, finsupp.sum_zero_index, eq.refl, finset.sum_empty, congr_arg, congr, eq.trans, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, finsupp.add_comm_monoid, finsupp.sum, finset.sum, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_zero.zero, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, finset, add_comm_monoid, decidable_eq]), (finsupp.sum_mul, [trivial, eq_self_iff_true, propext, finset.sum_mul, eq.refl, finsupp.sum.equations._eqn_1, has_mul, congr_arg, congr, finsupp.support, semiring.to_add_comm_monoid, finset.sum, eq.trans, id, true, eq.mpr, finsupp.has_coe_to_fun, coe_fn, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.sum, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring]), (finsupp.sum_single, [not_not, add_monoid.smul_zero, finset.sum_const, finset.card, add_monoid.smul, has_mem, false.rec, rfl, forall_true_iff, if_false, imp_congr_ctx_eq, not_false_iff, eq.mp, iff_false_intro, forall_eq, ne.def, finsupp.mem_support_iff, ne, finset.mem_singleton, imp_congr_eq, forall_congr_eq, finset.subset_iff, false, not, finset.has_subset, has_subset.subset, finset.sum_subset, eq.symm, finset.decidable_mem, finsupp.support, dite, trivial, propext, if_true, if_simp_congr, finset.sum_singleton, finset.has_mem, has_mem.mem, finset.insert_empty_eq_singleton, finset.sum_congr, finsupp.single_apply, funext, eq.refl, finsupp.sum_apply, finset.singleton, eq_self_iff_true, decidable_of_decidable_of_iff, congr_arg, congr, eq.trans, id, true, eq.mpr, finsupp.ext, finsupp.has_coe_to_fun, coe_fn, finset.has_insert, finset.has_emptyc, finset, singleton, finset.sum, has_zero.zero, ite, finsupp.single, finsupp.add_comm_monoid, finsupp.sum, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.sum_single_index, [trivial, eq_self_iff_true, propext, finsupp.single_eq_same, finset.sum_singleton, finset.has_mem, has_mem.mem, finset.insert_empty_eq_singleton, finsupp.support_single_ne_zero, finset.has_insert, finset.has_emptyc, singleton, finset, finset.sum_congr, finsupp.sum.equations._eqn_1, finsupp.support, finset.singleton, finset.sum, finsupp.has_coe_to_fun, coe_fn, true, not, finsupp.single_zero, eq.refl, eq.drec, has_zero, eq.trans, congr_arg, congr, id, finsupp.has_zero, finsupp, eq.mpr, dite, finsupp.single, finsupp.sum, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq, add_comm_monoid, add_monoid, decidable_eq]), (finsupp.sum_sum_index, [finsupp.sum_finset_sum_index, finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.sum, eq.symm, finsupp.add_comm_monoid, finsupp.sum, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_zero.zero, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.sum_zero, [finsupp.support, finset.sum_const_zero, has_zero.zero, finsupp.sum, eq, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, add_comm_monoid, decidable_eq]), (finsupp.sum_zero_index, [trivial, eq_self_iff_true, propext, finset.sum_empty, finsupp.zero_apply, eq.refl, finset.has_mem, has_mem.mem, finsupp.support_zero, finset.sum_congr, finsupp.sum.equations._eqn_1, finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.has_emptyc, finset, has_emptyc.emptyc, finset.sum, congr_arg, congr, eq.trans, id, true, eq.mpr, finsupp.has_zero, finsupp, has_zero.zero, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp.sum, eq, add_comm_monoid]), (finsupp.support, [finset, finsupp, has_zero]), (finsupp.support_add, [finsupp.has_add._proof_1, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.support_zip_with, finset.has_union, has_union.union, finsupp.has_add, has_add.add, finsupp.support, finset.has_subset, finset, has_subset.subset, add_monoid.to_has_zero, finsupp, add_monoid, decidable_eq]), (finsupp.support_eq_empty, [trivial, forall_true_iff, eq_self_iff_true, finsupp.support_zero, eq.refl, imp_congr_ctx_eq, id, true, eq.mpr, not_not, iff_false, finset.not_mem_empty, iff_false_intro, ne.def, finsupp.mem_support_iff, ne, congr_arg, congr, false, not, forall_congr_eq, finset.ext, propext, finset.has_mem, has_mem.mem, eq.trans, finsupp.has_coe_to_fun, coe_fn, eq.mp, finsupp.ext, iff.intro, finsupp.has_zero, has_zero.zero, finset.has_emptyc, has_emptyc.emptyc, finsupp.support, finset, eq, iff, finsupp, decidable_eq, has_zero]), (finsupp.support_map_range, [finsupp.map_range._proof_1, finsupp.has_coe_to_fun, coe_fn, function.comp, finsupp.support_on_finset_subset, finsupp.map_range, finsupp.support, finset.has_subset, finset, has_subset.subset, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (finsupp.support_neg, [trivial, eq_self_iff_true, propext, neg_neg, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, finset.has_subset, has_subset.subset, trans_rel_right, neg_zero, finsupp.support_map_range, finset.subset.antisymm, finsupp.add_group, add_group.to_has_neg, has_neg.neg, finsupp.support, finset, eq, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, add_group, decidable_eq]), (finsupp.support_on_finset_subset, [trivial, finset.filter_subset, iff_true_intro, propext, finsupp.on_finset.equations._eqn_1, eq.drec, eq.refl, finsupp.on_finset._proof_1, iff, finsupp.mk, finsupp, congr_arg, congr, has_subset, ne.def, funext, ne.decidable, decidable_pred, eq.rec, not, finset.filter, eq.trans, eq, id, true, eq.mpr, finsupp.on_finset, finsupp.support, finset.has_subset, has_subset.subset, finset.has_mem, has_mem.mem, has_zero.zero, ne, finset, has_zero, decidable_eq]), (finsupp.support_single_ne_zero, [has_emptyc.emptyc, if_neg, finset.has_insert, finset.has_emptyc, singleton, finsupp.single, finsupp.support, finset, eq, has_zero.zero, ne, has_zero, decidable_eq]), (finsupp.support_zero, [rfl, finset.has_emptyc, has_emptyc.emptyc, finsupp.has_zero, finsupp, has_zero.zero, finsupp.support, finset, eq, has_zero]), (finsupp.support_zip_with, [finsupp.zip_with._proof_1, finsupp.has_coe_to_fun, coe_fn, finsupp.support_on_finset_subset, finset.has_union, has_union.union, finsupp.zip_with, finsupp.support, finset.has_subset, finset, has_subset.subset, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (finsupp.to_comm_ring, [finsupp.to_comm_ring._proof_11, finsupp.to_comm_ring._proof_10, finsupp.to_comm_ring._proof_9, finsupp.to_comm_ring._proof_8, finsupp.to_comm_ring._proof_7, ring.one, finsupp.to_comm_ring._proof_6, ring.mul, finsupp.to_comm_ring._proof_5, finsupp.to_comm_ring._proof_4, ring.neg, finsupp.to_comm_ring._proof_3, finsupp.to_comm_ring._proof_2, ring.zero, finsupp.to_comm_ring._proof_1, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, comm_ring.mk, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_1, [ring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, has_add.mk, has_add.add, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_10, [ring.right_distrib, ring.add, has_add.mk, has_add.add, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_11, [mul_comm, comm_ring.to_comm_semiring, finsupp.to_comm_semiring, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_2, [ring.zero_add, ring.zero, has_zero.mk, has_zero.zero, ring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_3, [ring.add_zero, ring.zero, has_zero.mk, has_zero.zero, ring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_4, [ring.add_left_neg, add_monoid.to_has_zero, has_zero.zero, ring.neg, has_neg.mk, has_neg.neg, ring.add_zero, ring.zero_add, ring.zero, ring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_5, [ring.add_comm, ring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_6, [ring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_7, [ring.one_mul, ring.one, has_one.mk, has_one.one, ring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_8, [ring.mul_one, ring.one, has_one.mk, has_one.one, ring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_ring._proof_9, [ring.left_distrib, ring.add, has_add.mk, has_add.add, add_comm_monoid.to_add_monoid, finsupp.to_ring, ring.mul, has_mul.mk, has_mul.mul, eq, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_ring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring, [finsupp.to_comm_semiring._proof_12, finsupp.to_comm_semiring._proof_11, finsupp.to_comm_semiring._proof_10, finsupp.to_comm_semiring._proof_9, finsupp.to_comm_semiring._proof_8, finsupp.to_comm_semiring._proof_7, finsupp.to_comm_semiring._proof_6, semiring.one, finsupp.to_comm_semiring._proof_5, semiring.mul, finsupp.to_comm_semiring._proof_4, finsupp.to_comm_semiring._proof_3, finsupp.to_comm_semiring._proof_2, semiring.zero, finsupp.to_comm_semiring._proof_1, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.add, comm_semiring.mk, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_1, [semiring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.add, has_add.mk, has_add.add, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_10, [semiring.zero_mul, semiring.zero, has_zero.mk, has_zero.zero, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_11, [semiring.mul_zero, semiring.zero, has_zero.mk, has_zero.zero, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_12, [trivial, eq_self_iff_true, propext, add_comm_monoid.to_add_comm_semigroup, add_comm, true, finset.sum_comm, eq.rec, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, mul_comm, eq.drec, has_zero, finset.has_mem, has_mem.mem, finset, finset.sum_congr, finsupp.sum.equations._eqn_1, funext, eq.refl, finsupp.mul_def, finsupp.sum, finsupp.has_mul, eq.trans, congr_arg, congr, id, finsupp.has_coe_to_fun, coe_fn, mul_zero_class.to_has_mul, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finsupp.single, finsupp.support, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finset.sum, eq.mpr, semiring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_2, [semiring.zero_add, semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_3, [semiring.add_zero, semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_4, [semiring.add_comm, semiring.add_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_5, [semiring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_6, [semiring.one_mul, semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_7, [semiring.mul_one, semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_8, [semiring.left_distrib, semiring.add, has_add.mk, has_add.add, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_comm_semiring._proof_9, [semiring.right_distrib, semiring.add, has_add.mk, has_add.add, add_comm_monoid.to_add_monoid, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, comm_semiring, add_comm_monoid, decidable_eq]), (finsupp.to_fun, [finsupp, has_zero]), (finsupp.to_has_scalar', [smul_zero, module.to_has_scalar, has_scalar.smul, finsupp.map_range, has_scalar.mk, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, has_scalar, module, ring, decidable_eq]), (finsupp.to_module, [finsupp.to_module._proof_9, finsupp.to_module._proof_8, finsupp.to_module._proof_7, finsupp.to_module._proof_6, finsupp.to_module._proof_5, finsupp.to_module._proof_4, add_comm_group.neg, finsupp.to_module._proof_3, finsupp.to_module._proof_2, add_comm_group.zero, finsupp.to_module._proof_1, finsupp.add_comm_group, add_comm_group.add, add_comm_group.mk, finsupp.to_has_scalar', has_scalar.smul, has_scalar.mk, module.mk, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_1, [add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, has_add.mk, has_add.add, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_2, [add_comm_group.zero_add, add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_3, [add_comm_group.add_zero, add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_4, [add_comm_group.add_left_neg, has_zero.zero, add_comm_group.neg, has_neg.mk, has_neg.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_5, [add_comm_group.add_comm, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_6, [trivial, forall_true_iff, eq_self_iff_true, add_right_inj, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, has_add, finsupp.has_add, smul_add, finsupp.add_apply, eq.refl, has_scalar, finsupp.smul_apply', congr_arg, congr, module.to_has_scalar, forall_congr_eq, eq.trans, id, true, finsupp.has_coe_to_fun, coe_fn, eq.mpr, finsupp.ext, add_comm_group.add_comm, add_comm_group.add_left_neg, add_comm_group.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_comm_group.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, finsupp.to_has_scalar', has_scalar.mk, has_scalar.smul, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_7, [trivial, forall_true_iff, eq_self_iff_true, add_right_inj, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, has_add, finsupp.add_apply, finsupp.has_add, add_smul, finsupp.smul_apply', congr_arg, congr, module.to_has_scalar, forall_congr_eq, eq.trans, id, true, finsupp.has_coe_to_fun, coe_fn, eq.mpr, finsupp.ext, add_comm_group.add_comm, add_comm_group.add_left_neg, add_comm_group.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, finsupp.add_comm_group, add_comm_group.add, add_comm_group.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, ring.to_distrib, distrib.to_has_add, has_add.add, finsupp.to_has_scalar', has_scalar.mk, has_scalar.smul, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_8, [trivial, forall_true_iff, eq_self_iff_true, propext, smul_smul, eq.refl, has_scalar, finsupp.smul_apply', congr_arg, congr, module.to_has_scalar, forall_congr_eq, eq.trans, id, true, finsupp.has_coe_to_fun, coe_fn, eq.mpr, finsupp.ext, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, finsupp.to_has_scalar', has_scalar.mk, has_scalar.smul, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_module._proof_9, [trivial, forall_true_iff, eq_self_iff_true, propext, eq.refl, one_smul, finsupp.smul_apply', module.to_has_scalar, congr_arg, congr, forall_congr_eq, eq.trans, id, true, finsupp.has_coe_to_fun, coe_fn, eq.mpr, finsupp.ext, ring.to_monoid, monoid.to_has_one, has_one.one, finsupp.to_has_scalar', has_scalar.mk, has_scalar.smul, eq, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, finsupp, module, ring, decidable_eq]), (finsupp.to_ring, [finsupp.to_ring._proof_10, finsupp.to_ring._proof_9, finsupp.to_ring._proof_8, finsupp.to_ring._proof_7, semiring.one, finsupp.to_ring._proof_6, semiring.mul, finsupp.to_ring._proof_5, finsupp.to_ring._proof_4, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, finsupp.add_group, add_group.to_has_neg, has_neg.neg, finsupp.to_ring._proof_3, finsupp.to_ring._proof_2, semiring.zero, finsupp.to_ring._proof_1, finsupp.to_semiring, semiring.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_1, [semiring.add_assoc, finsupp.to_semiring, semiring.add, has_add.mk, has_add.add, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_10, [semiring.right_distrib, semiring.add, has_add.mk, has_add.add, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_2, [semiring.zero_add, semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_3, [semiring.add_zero, semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_4, [add_left_neg, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, finsupp.add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, decidable_eq]), (finsupp.to_ring._proof_5, [semiring.add_comm, semiring.add_assoc, finsupp.to_semiring, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_6, [semiring.mul_assoc, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_7, [semiring.one_mul, semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, finsupp.to_semiring, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_8, [semiring.mul_one, semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, finsupp.to_semiring, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_ring._proof_9, [semiring.left_distrib, semiring.add, has_add.mk, has_add.add, finsupp.to_semiring, semiring.mul, has_mul.mk, has_mul.mul, eq, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, ring, add_monoid, decidable_eq]), (finsupp.to_semiring, [finsupp.to_semiring._proof_11, finsupp.to_semiring._proof_10, finsupp.to_semiring._proof_9, finsupp.to_semiring._proof_8, finsupp.to_semiring._proof_7, finsupp.to_semiring._proof_6, semiring.to_monoid, monoid.to_has_one, finsupp.has_one, has_one.one, finsupp.to_semiring._proof_5, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, finsupp.to_semiring._proof_4, finsupp.to_semiring._proof_3, finsupp.to_semiring._proof_2, add_comm_monoid.zero, finsupp.to_semiring._proof_1, finsupp.add_comm_monoid, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, add_comm_monoid.add, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_1, [add_comm_monoid.add_assoc, finsupp.add_comm_monoid, add_comm_monoid.add, has_add.mk, has_add.add, eq, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, semiring, decidable_eq]), (finsupp.to_semiring._proof_10, [_private.3181648053.zero_mul, finsupp.has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_11, [_private.3007168525.mul_zero, finsupp.has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_2, [add_comm_monoid.zero_add, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, finsupp.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, semiring, decidable_eq]), (finsupp.to_semiring._proof_3, [add_comm_monoid.add_zero, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, finsupp.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, semiring, decidable_eq]), (finsupp.to_semiring._proof_4, [add_comm_monoid.add_comm, add_comm_monoid.add_assoc, finsupp.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp, semiring, decidable_eq]), (finsupp.to_semiring._proof_5, [trivial, mul_add, mul_zero, semiring.to_monoid, monoid.to_semigroup, mul_assoc, add_assoc, finsupp.sum_single_index, forall_3_true_iff, finsupp.sum_add, finsupp.single_add, add_mul, semiring.to_distrib, distrib.to_has_add, finsupp.has_add, true.intro, forall_true_iff, eq_self_iff_true, propext, finsupp.sum_zero, finsupp.single_zero, zero_mul, eq.drec, has_zero, funext, add_comm_monoid, finsupp.has_zero, iff.refl, iff, eq.rec, forall_congr, iff.trans, has_zero.zero, iff.mpr, finsupp.sum_sum_index, eq.refl, finsupp.mul_def, has_mul, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, congr_arg, congr, mul_zero_class.to_has_mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, eq.trans, id, true, eq.mpr, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mk, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_6, [finsupp.sum_single, one_mul, zero_add, finsupp.one_def, monoid.to_has_one, finsupp.has_one, has_one.mk, has_one.one, trivial, mul_add, mul_zero, semiring.to_monoid, monoid.to_semigroup, mul_assoc, add_assoc, finsupp.sum_single_index, forall_3_true_iff, finsupp.sum_add, finsupp.single_add, add_mul, semiring.to_distrib, distrib.to_has_add, finsupp.has_add, true.intro, forall_true_iff, eq_self_iff_true, propext, finsupp.sum_zero, finsupp.single_zero, zero_mul, eq.drec, has_zero, funext, add_comm_monoid, finsupp.has_zero, iff.refl, iff, eq.rec, forall_congr, iff.trans, has_zero.zero, iff.mpr, finsupp.sum_sum_index, eq.refl, finsupp.mul_def, has_mul, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, congr_arg, congr, mul_zero_class.to_has_mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, eq.trans, id, true, has_mul.mk, eq.mpr, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_7, [finsupp.sum_single, mul_one, add_zero, finsupp.one_def, monoid.to_has_one, finsupp.has_one, has_one.mk, has_one.one, trivial, mul_add, mul_zero, semiring.to_monoid, monoid.to_semigroup, mul_assoc, add_assoc, finsupp.sum_single_index, forall_3_true_iff, finsupp.sum_add, finsupp.single_add, add_mul, semiring.to_distrib, distrib.to_has_add, finsupp.has_add, true.intro, forall_true_iff, eq_self_iff_true, propext, finsupp.sum_zero, finsupp.single_zero, zero_mul, eq.drec, has_zero, funext, add_comm_monoid, finsupp.has_zero, iff.refl, iff, eq.rec, forall_congr, iff.trans, has_zero.zero, iff.mpr, finsupp.sum_sum_index, eq.refl, finsupp.mul_def, has_mul, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, congr_arg, congr, mul_zero_class.to_has_mul, has_add.add, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.add_comm_monoid, finsupp.sum, eq.trans, id, true, has_mul.mk, eq.mpr, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_8, [_private.177847119.left_distrib, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, finsupp.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.to_semiring._proof_9, [_private.3031835297.right_distrib, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, finsupp.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, finsupp.has_mul, has_mul.mul, eq, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, semiring, add_monoid, decidable_eq]), (finsupp.zero_apply, [rfl, finsupp.has_zero, has_zero.zero, finsupp.has_coe_to_fun, finsupp, coe_fn, eq, has_zero]), (finsupp.zip_with, [finsupp.zip_with._proof_1, finsupp.has_coe_to_fun, coe_fn, finsupp.support, finset.has_union, finset, has_union.union, finsupp.on_finset, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (finsupp.zip_with._proof_1, [true_or, not_false_iff, iff_false_intro, trivial, forall_true_iff, imp_congr_ctx_eq, not_imp_not, eq.rec, false_or, not_true, eq_self_iff_true, finsupp.mem_support_iff, true, finset.mem_union, propext, false, or, ne.def, eq.refl, congr_arg, congr, eq.trans, imp_congr_eq, id, not, eq.mpr, classical.by_cases, finsupp.support, finset.has_union, has_union.union, finset.has_mem, finset, has_mem.mem, finsupp.has_coe_to_fun, coe_fn, ne, finsupp, has_zero.zero, eq, decidable_eq, has_zero]), (fintype, []), (fintype.card, [finset.univ, finset.card, nat, fintype]), (fintype.card.equations._eqn_1, [eq.refl, finset.univ, finset.card, fintype.card, nat, eq, fintype]), (fintype.card_congr, [fintype.subsingleton, subsingleton.elim, congr, eq.drec, eq.trans, fintype.of_equiv_card, eq.symm, eq.refl, eq.rec, id, fintype.of_equiv, eq.mpr, fintype.card, nat, eq, equiv, fintype]), (fintype.card_empty, [rfl, nat.has_zero, has_zero.zero, empty.fintype, empty, fintype.card, nat, eq]), (fintype.card_eq, [fintype.card_congr, nonempty.dcases_on, trivial, eq_self_iff_true, propext, list.index_of_nth_le, eq.drec, list.nth_le_index_of, Exists.intro, list.nodup_iff_nth_le_inj, iff.mp, option.some.inj_eq, true.intro, iff_true_intro, true, list.index_of_nth, congr_arg, congr, option.some, eq.trans, list.nth, option, eq.mp, function.surjective, function.injective, and.intro, list.index_of_lt_length, iff.mpr, eq.symm, eq.refl, eq.rec, nat.has_lt, has_lt.lt, eq.mpr, classical.dec_eq, list.index_of, list.nth_le, equiv.of_bijective, nonempty.intro, list.length, list.has_mem, list.nodup, list.perm.setoid, list, quotient.induction_on₂, multiset.card, id, id_rhs, finset.mk, multiset.nodup, multiset, finset.cases_on, fintype.mk, finset.has_mem, has_mem.mem, finset, fintype.cases_on, iff.intro, equiv, nonempty, fintype.card, nat, eq, iff, fintype]), (fintype.card_eq_zero_iff, [false.elim, equiv.mk, eq.refl, fintype.card_congr, trivial, eq_self_iff_true, propext, fintype.card_empty, congr_arg, congr, eq.trans, id, true, eq.mpr, fintype.card_eq, nonempty, empty.fintype, iff.mp, classical.choice, equiv.has_coe_to_fun, coe_fn, empty.elim, empty, equiv, iff.intro, false, nat.has_zero, has_zero.zero, fintype.card, nat, eq, iff, fintype]), (fintype.card_fin, [trivial, eq_self_iff_true, propext, list.length_range, list.length_pmap, multiset.coe_card, finset.card.equations._eqn_1, finset.univ.equations._eqn_1, finset, fintype.card.equations._eqn_1, finset.univ, finset.card, finset.val, multiset.card, list.length, congr_arg, congr, eq.trans, true, fin.fintype.equations._eqn_1, eq.refl, fintype, eq.rec, id, fin.fintype._proof_3, fin.fintype._proof_2, fin.fintype._proof_1, list.range, fin.mk, nat.has_lt, has_lt.lt, list.pmap, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, finset.mk, fintype.mk, eq.mpr, fin.fintype, fin, fintype.card, eq, nat]), (fintype.card_le_of_injective, [finset.mem_univ, finset.has_mem, finset, has_mem.mem, finset.univ, eq, classical.prop_decidable, finset.card_le_card_of_inj_on, fintype.card, nat.has_le, nat, has_le.le, function.injective, fintype]), (fintype.card_pos_iff, [iff.mp, mt, nat.pos_of_ne_zero, gt, id_rhs, nonempty.dcases_on, nonempty.intro, fintype.card_eq_zero_iff, false, iff.mpr, eq.refl, eq.rec, eq.mp, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, eq, not, classical.by_contradiction, iff.intro, nonempty, fintype.card, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, fintype]), (fintype.card_prod, [finset.univ, finset.card_product, nat.has_mul, has_mul.mul, prod.fintype, prod, fintype.card, nat, eq, fintype]), (fintype.cases_on, [fintype.rec, fintype.mk, finset.has_mem, has_mem.mem, finset, fintype]), (fintype.complete, [fintype.elems, finset.has_mem, finset, has_mem.mem, fintype]), (fintype.decidable_exists_fintype, [finset.decidable_dexists_finset, fintype.decidable_exists_fintype._proof_1, finset.univ, finset.has_mem, finset, has_mem.mem, decidable_of_iff, Exists, decidable, decidable_pred, fintype]), (fintype.decidable_exists_fintype._proof_1, [trivial, iff_self, eq.refl, exists_prop_of_true, propext, true.intro, finset.mem_univ, iff_true_intro, iff.mpr, funext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, finset.univ, finset.has_mem, finset, has_mem.mem, Exists, iff, fintype]), (fintype.decidable_forall_fintype, [finset.decidable_dforall_finset, fintype.decidable_forall_fintype._proof_1, finset.univ, finset.has_mem, finset, has_mem.mem, decidable_of_iff, decidable, decidable_pred, fintype]), (fintype.decidable_forall_fintype._proof_1, [trivial, iff_self, forall_prop_of_true, eq.refl, finset.mem_univ, iff_true_intro, propext, imp_congr_eq, true.intro, forall_congr_eq, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, finset.univ, finset.has_mem, finset, has_mem.mem, iff, fintype]), (fintype.elems, [finset, fintype]), (fintype.fintype_prod_left, [fintype.fintype_prod_left._proof_1, fintype.elems, prod.fst, finset.image, fintype.mk, nonempty, prod, fintype, decidable_eq]), (fintype.fintype_prod_left._match_1, [fintype.complete, Exists.intro, exists_eq_right, exists_and_distrib_right, prod.exists, exists_prop, funext, congr_arg, finset.mem_image, propext, and, eq.trans, eq, id, prod.mk, Exists, eq.mpr, id_rhs, nonempty.dcases_on, fintype.elems, prod.fst, finset.image, finset.has_mem, finset, has_mem.mem, nonempty, prod, fintype, decidable_eq]), (fintype.fintype_prod_left._proof_1, [fintype.fintype_prod_left._match_1, fintype.elems, prod.fst, finset.image, finset.has_mem, finset, has_mem.mem, nonempty, prod, fintype, decidable_eq]), (fintype.fintype_prod_right, [fintype.fintype_prod_right._proof_1, fintype.elems, prod.snd, finset.image, fintype.mk, nonempty, prod, fintype, decidable_eq]), (fintype.fintype_prod_right._match_1, [fintype.complete, Exists.intro, exists_eq_right, prod.exists, exists_prop, funext, congr_arg, finset.mem_image, propext, and, eq.trans, eq, id, prod.mk, Exists, eq.mpr, id_rhs, nonempty.dcases_on, fintype.elems, prod.snd, finset.image, finset.has_mem, finset, has_mem.mem, nonempty, prod, fintype, decidable_eq]), (fintype.fintype_prod_right._proof_1, [fintype.fintype_prod_right._match_1, fintype.elems, prod.snd, finset.image, finset.has_mem, finset, has_mem.mem, nonempty, prod, fintype, decidable_eq]), (fintype.mk, [fintype, finset.has_mem, has_mem.mem, finset]), (fintype.of_bijective, [fintype.of_bijective._proof_2, finset.univ, fintype.of_bijective._proof_1, function.embedding.mk, finset.map, fintype.mk, function.bijective, fintype]), (fintype.of_bijective._match_1, [finset.mem_univ, finset.mem_map_of_mem, eq.subst, id_rhs, Exists.dcases_on, finset.univ, function.surjective, function.injective, and.left, function.embedding.mk, finset.map, finset.has_mem, finset, has_mem.mem, eq, Exists, function.bijective, fintype]), (fintype.of_bijective._proof_1, [function.surjective, and.left, function.injective, function.bijective]), (fintype.of_bijective._proof_2, [and.right, fintype.of_bijective._match_1, finset.univ, function.surjective, function.injective, and.left, function.embedding.mk, finset.map, finset.has_mem, finset, has_mem.mem, function.bijective, fintype]), (fintype.of_equiv, [equiv.bijective, equiv.has_coe_to_fun, coe_fn, fintype.of_bijective, equiv, fintype]), (fintype.of_equiv_card, [finset.univ, finset.val, equiv.bijective, fintype.of_bijective._proof_1, equiv.has_coe_to_fun, function.embedding.mk, function.has_coe_to_fun, function.embedding, coe_fn, multiset.card_map, fintype.of_equiv, fintype.card, nat, eq, equiv, fintype]), (fintype.rec, [fintype.mk, finset.has_mem, has_mem.mem, finset, fintype]), (fintype.subsingleton, [fintype.subsingleton._match_2, subsingleton.intro, fintype, subsingleton]), (fintype.subsingleton._match_1, [eq.refl, eq.drec, trivial, forall_true_iff, iff_self, iff_true_intro, congr_arg, congr, forall_congr_eq, finset.ext, propext, iff, eq.trans, id, true, eq.mpr, eq.rec, id_rhs, fintype.cases_on, fintype.mk, eq, fintype, finset.has_mem, has_mem.mem, finset]), (fintype.subsingleton._match_2, [fintype.subsingleton._match_1, fintype.mk, id_rhs, finset.has_mem, has_mem.mem, finset, fintype.cases_on, eq, fintype]), (fintype.subtype, [fintype.subtype._proof_3, fintype.subtype._proof_2, fintype.subtype._proof_1, finset.val, subtype.mk, multiset.pmap, finset.mk, fintype.mk, subtype, fintype, finset.has_mem, has_mem.mem, iff, finset]), (fintype.subtype._match_2, [rfl, Exists.intro, multiset.mem_pmap, eq, Exists, iff.mpr, multiset.has_mem, multiset, id_rhs, subtype.cases_on, finset.nodup, subtype.val, congr_arg, multiset.nodup_pmap, iff.mp, finset.val, subtype.mk, multiset.pmap, finset.mk, subtype, finset.has_mem, has_mem.mem, iff, finset]), (fintype.subtype._proof_1, [iff.mp, finset.has_mem, has_mem.mem, iff, finset]), (fintype.subtype._proof_2, [finset.nodup, subtype.val, congr_arg, multiset.nodup_pmap, iff.mp, finset.val, subtype.mk, multiset.pmap, subtype, multiset.nodup, finset.has_mem, has_mem.mem, iff, finset]), (fintype.subtype._proof_3, [fintype.subtype._match_2, finset.nodup, subtype.val, congr_arg, multiset.nodup_pmap, iff.mp, finset.val, subtype.mk, multiset.pmap, finset.mk, subtype, finset.has_mem, has_mem.mem, iff, finset]), (fintype.subtype_card, [fintype.subtype._proof_1, finset.val, subtype.mk, multiset.card_pmap, finset.card, fintype.subtype, subtype, fintype.card, nat, eq, finset.has_mem, has_mem.mem, iff, finset]), (forall_2_true_iff, [forall_true_iff, forall_true_iff', true, iff]), (forall_3_true_iff, [forall_2_true_iff, forall_true_iff', true, iff]), (forall_and_distrib, [id_rhs, and.dcases_on, and.right, and.left, and.intro, iff.intro, and, iff]), (forall_congr, [iff.mpr, iff.mp, iff.intro, iff]), (forall_congr_eq, [eq.to_iff, forall_congr, propext, eq]), (forall_const, [arbitrary, iff.intro, iff, inhabited]), (forall_eq', [trivial, iff_self, forall_eq, eq.refl, eq_comm, propext, imp_congr_eq, forall_congr_eq, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, iff]), (forall_eq, [eq.symm, eq.subst, rfl, iff.intro, eq, iff]), (forall_prop_decidable, [forall_prop_decidable._proof_2, decidable.is_true, not, forall_prop_decidable._proof_1, decidable_of_decidable_of_iff, dite, decidable]), (forall_prop_decidable._proof_1, [iff.intro, iff]), (forall_prop_decidable._proof_2, [absurd, not]), (forall_prop_of_false, [not.elim, iff_true_intro, true, iff, not]), (forall_prop_of_true, [inhabited.mk, forall_const, iff]), (forall_swap, [function.swap, iff.intro, iff]), (forall_true_iff', [of_iff_true, iff_true_intro, true, iff]), (forall_true_iff, [trivial, iff_true_intro, true, iff]), (function.bijective, [function.surjective, function.injective, and]), (function.comp, []), (function.comp.equations._eqn_1, [eq.refl, function.comp, eq]), (function.comp_app, [rfl, function.comp, eq]), (function.const, []), (function.embedding, []), (function.embedding.inj, [function.embedding.to_fun, function.injective, function.embedding]), (function.embedding.mk, [function.embedding, function.injective]), (function.embedding.to_fun, [function.embedding]), (function.equiv, [eq]), (function.equiv.is_equivalence, [function.equiv.trans, function.equiv.symm, function.equiv.refl, mk_equivalence, function.equiv, equivalence]), (function.equiv.refl, [rfl, function.equiv]), (function.equiv.symm, [eq.symm, function.equiv]), (function.equiv.trans, [eq.trans, function.equiv]), (function.has_coe_to_fun, [function.embedding.to_fun, has_coe_to_fun.mk, function.embedding, has_coe_to_fun]), (function.has_right_inverse, [function.right_inverse, Exists]), (function.injective, [eq]), (function.injective.eq_iff, [congr_arg, iff.intro, eq, iff, function.injective]), (function.injective.equations._eqn_1, [eq.refl, function.injective, eq]), (function.injective_comp, [eq, function.comp, function.injective]), (function.injective_of_left_inverse, [eq.symm, congr_arg, eq.trans, eq, function.injective, function.left_inverse]), (function.injective_of_partial_inv, [rfl, iff.mpr, eq.symm, option.some, eq.trans, option.some.inj, eq, function.injective, function.is_partial_inv, option]), (function.injective_of_partial_inv_right, [option.some, iff.mp, eq.symm, eq.trans, eq, option.has_mem, has_mem.mem, function.is_partial_inv, option]), (function.is_partial_inv, [option.some, eq, iff, option]), (function.left_inverse, [eq]), (function.left_inverse.comp, [eq.refl, eq.rec, id, eq.mpr, eq, function.comp, function.left_inverse]), (function.partial_inv, [option.none, not, classical.some, option.some, classical.prop_decidable, eq, Exists, dite, option]), (function.partial_inv.equations._eqn_1, [eq.refl, option.none, not, classical.some, option.some, classical.prop_decidable, Exists, dite, function.partial_inv, option, eq]), (function.partial_inv_of_injective, [rfl, Exists.intro, congr_arg, eq.trans, eq.subst, dif_neg, option.no_confusion, classical.some_spec, function.partial_inv.equations._eqn_1, dif_pos, eq.refl, eq.rec, option.none, not, eq.mp, classical.some, option.some.inj_arrow, classical.prop_decidable, Exists, dite, iff.intro, option.some, option, eq, iff, id_rhs, function.partial_inv, function.is_partial_inv, function.injective]), (function.right_inverse, [function.left_inverse]), (function.right_inverse.comp, [function.left_inverse.comp, function.comp, function.right_inverse]), (function.surjective, [eq, Exists]), (function.surjective_of_has_right_inverse, [Exists.intro, id_rhs, eq, Exists, function.right_inverse, Exists.dcases_on, function.surjective, function.has_right_inverse]), (function.swap, []), (funext, [quotient.sound, quotient, congr_arg, _private.664069189.fun_setoid, quotient.mk, _private.3320256275.extfun_app, eq]), (gcd._main._pack._wf_rec_mk_dec_tactic._aux_1, [nat.sizeof.equations._eqn_1, congr_arg, congr, has_lt, eq, nat.sizeof, eq.mpr, sizeof, sizeof_measure, psigma.lex.left, id, psigma.mk, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, psigma, has_well_founded.r, nat.succ, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat]), (ge, [has_le.le, has_le]), (ge.equations._eqn_1, [eq.refl, has_le.le, ge, eq, has_le]), (gpow, [gpow._main, int, group]), (gpow._main, [nat.succ, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.has_pow, has_pow.pow, id_rhs, nat, int.cases_on, int, group]), (gpow_add, [mul_inv_rev, nat.add_comm_semigroup, nat.succ_add_eq_succ_add, pow_inv_comm, inv_pow, eq.symm, gpow_of_nat, gpow_neg_succ, nat.succ, group.to_has_inv, has_inv.inv, add_comm, eq.refl, eq.rec, id, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, _private.3368403081.gpow_add_aux, int.neg_succ_of_nat, pow_add, nat.has_add, monoid.has_pow, id_rhs, int.of_nat, nat, int.cases_on, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, int.has_add, has_add.add, group.has_pow, has_pow.pow, eq, int, group]), (gpow_coe_nat, [rfl, group.to_monoid, monoid.has_pow, int.has_coe, coe_base, coe_to_lift, coe, group.has_pow, int, has_pow.pow, eq, nat, group]), (gpow_eq_mod_order_of, [trivial, eq_self_iff_true, propext, mul_one, one_gpow, pow_order_of_eq_one, gpow_coe_nat, monoid.has_pow, has_pow, gpow_mul, has_mul, gpow_add, monoid.to_has_one, has_one.one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, congr_arg, congr, true, int.mod_add_div, eq.refl, eq.rec, id, eq.mpr, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_add, has_add.add, eq.trans, order_of, int.has_coe, coe_base, coe_to_lift, nat, coe, int.has_mod, has_mod.mod, group.has_pow, has_pow.pow, eq, int, decidable_eq, fintype, group]), (gpow_mul, [inv_inv, trivial, eq_self_iff_true, inv_inj', propext, inv_pow, gpow_coe_nat, gpow_neg_succ, has_pow, has_inv, congr_arg, congr, true, eq.refl, eq.rec, id, eq.mpr, nat.succ, gpow_neg, group.to_has_inv, has_inv.inv, eq.trans, int.neg_succ_of_nat, int.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_neg, has_neg.neg, pow_mul, nat.has_mul, group.to_monoid, monoid.has_pow, id_rhs, int.of_nat, nat, int.cases_on, int.has_mul, has_mul.mul, group.has_pow, has_pow.pow, eq, int, group]), (gpow_neg, [inv_inv, int.neg_succ_of_nat, rfl, nat.has_one, nat.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, one_inv, eq.symm, group.to_monoid, monoid.to_has_one, has_one.one, id_rhs, int.of_nat, nat.cases_on, nat, int.cases_on, group.to_has_inv, has_inv.inv, int.has_neg, has_neg.neg, group.has_pow, has_pow.pow, eq, int, group]), (gpow_neg_succ, [rfl, nat.succ, group.to_monoid, monoid.has_pow, group.to_has_inv, has_inv.inv, int.neg_succ_of_nat, group.has_pow, int, has_pow.pow, eq, nat, group]), (gpow_of_nat, [rfl, group.to_monoid, monoid.has_pow, int.of_nat, group.has_pow, int, has_pow.pow, eq, nat, group]), (gpow_zero, [rfl, group.to_monoid, monoid.to_has_one, has_one.one, int.has_zero, has_zero.zero, group.has_pow, int, has_pow.pow, eq, group]), (gpowers, [group.has_pow, has_pow.pow, eq, int, Exists, set_of, set, group]), (gpowers.is_subgroup, [gpowers.is_subgroup._match_3, gpowers.is_subgroup._match_2, set.has_mem, set, has_mem.mem, trivial, eq_self_iff_true, propext, eq.refl, gpow_zero, congr_arg, congr, eq.trans, id, true, eq.mpr, int.has_zero, has_zero.zero, monoid.to_has_one, has_one.one, group.has_pow, has_pow.pow, eq, int, Exists.intro, group.to_monoid, is_submonoid.mk, is_subgroup.mk, gpowers, is_subgroup, group]), (gpowers.is_subgroup._match_1, [trivial, eq_self_iff_true, mul_right_inj, group.to_right_cancel_semigroup, right_cancel_semigroup.to_semigroup, propext, eq.refl, has_mul, gpow_add, congr_arg, congr, eq.trans, id, true, eq.mpr, int.has_add, has_add.add, Exists.intro, Exists, id_rhs, Exists.dcases_on, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, gpowers, set.has_mem, set, has_mem.mem, group.has_pow, has_pow.pow, eq, int, group]), (gpowers.is_subgroup._match_2, [gpowers.is_subgroup._match_1, id_rhs, group.has_pow, has_pow.pow, eq, int, Exists.dcases_on, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, gpowers, set.has_mem, set, has_mem.mem, group]), (gpowers.is_subgroup._match_3, [trivial, eq_self_iff_true, inv_inj', propext, eq.symm, has_inv, gpow_neg, congr_arg, congr, eq.trans, id, true, eq.mpr, int.has_neg, has_neg.neg, Exists.intro, Exists, id_rhs, group.has_pow, has_pow.pow, eq, int, Exists.dcases_on, group.to_has_inv, has_inv.inv, gpowers, set.has_mem, set, has_mem.mem, group]), (group, []), (group.has_pow, [gpow, has_pow.mk, int, has_pow, group]), (group.inv, [group]), (group.mk, [group, monoid.to_has_one, has_inv.mk, has_inv.inv, monoid.mk, monoid.to_semigroup, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (group.mul, [group]), (group.mul_assoc, [group.mul, has_mul.mk, has_mul.mul, eq, group]), (group.mul_left_inv, [monoid.to_has_one, has_one.one, group.inv, has_inv.mk, has_inv.inv, group.mul_one, group.one_mul, group.one, group.mul_assoc, group.mul, monoid.mk, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (group.mul_one, [group.one, has_one.mk, has_one.one, group.mul_assoc, group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, group]), (group.mul_right_cancel, [trivial, eq_self_iff_true, propext, true, mul_one, mul_right_inv, mul_assoc, has_mul, monoid.to_has_one, has_one.one, eq.trans, congr_arg, congr, eq.mp, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (group.one, [group]), (group.one_mul, [group.one, has_one.mk, has_one.one, group.mul_assoc, group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, group]), (group.to_has_inv, [group.inv, has_inv.mk, has_inv, group]), (group.to_monoid, [group.mul_one, group.one_mul, group.one, group.mul_assoc, group.mul, monoid.mk, monoid, group]), (group.to_right_cancel_semigroup, [group.mul_right_cancel, group.mul_assoc, group.mul, right_cancel_semigroup.mk, right_cancel_semigroup, group]), (gt, [has_lt.lt, has_lt]), (has_add, []), (has_add.add, [has_add]), (has_add.mk, [has_add]), (has_append, []), (has_append.append, [has_append]), (has_append.mk, [has_append]), (has_coe, []), (has_coe.coe, [has_coe]), (has_coe.mk, [has_coe]), (has_coe_t, []), (has_coe_t.coe, [has_coe_t]), (has_coe_t.mk, [has_coe_t]), (has_coe_to_fun, []), (has_coe_to_fun.F, [has_coe_to_fun]), (has_coe_to_fun.coe, [has_coe_to_fun.F, has_coe_to_fun]), (has_coe_to_fun.mk, [has_coe_to_fun]), (has_coe_to_sort, []), (has_coe_to_sort.S, [has_coe_to_sort]), (has_coe_to_sort.coe, [has_coe_to_sort.S, has_coe_to_sort]), (has_coe_to_sort.mk, [has_coe_to_sort]), (has_div, []), (has_div.div, [has_div]), (has_div.mk, [has_div]), (has_dvd, []), (has_dvd.dvd, [has_dvd]), (has_dvd.mk, [has_dvd]), (has_emptyc, []), (has_emptyc.emptyc, [has_emptyc]), (has_emptyc.mk, [has_emptyc]), (has_equiv, []), (has_equiv.equiv, [has_equiv]), (has_equiv.mk, [has_equiv]), (has_insert, [out_param]), (has_insert.insert, [has_insert]), (has_insert.mk, [has_insert, out_param]), (has_inter, []), (has_inter.inter, [has_inter]), (has_inter.mk, [has_inter]), (has_inv, []), (has_inv.inv, [has_inv]), (has_inv.mk, [has_inv]), (has_le, []), (has_le.le, [has_le]), (has_le.le.decidable, [decidable_linear_order.decidable_le, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable, decidable_linear_order]), (has_le.mk, [has_le]), (has_lift, []), (has_lift.lift, [has_lift]), (has_lift.mk, [has_lift]), (has_lift_t, []), (has_lift_t.lift, [has_lift_t]), (has_lift_t.mk, [has_lift_t]), (has_lt, []), (has_lt.lt, [has_lt]), (has_lt.lt.decidable, [decidable_linear_order.decidable_lt, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable, decidable_linear_order]), (has_lt.mk, [has_lt]), (has_mem, [out_param]), (has_mem.mem, [has_mem]), (has_mem.mk, [has_mem, out_param]), (has_mod, []), (has_mod.mk, [has_mod]), (has_mod.mod, [has_mod]), (has_mul, []), (has_mul.mk, [has_mul]), (has_mul.mul, [has_mul]), (has_neg, []), (has_neg.mk, [has_neg]), (has_neg.neg, [has_neg]), (has_one, []), (has_one.mk, [has_one]), (has_one.one, [has_one]), (has_pow, []), (has_pow.mk, [has_pow]), (has_pow.pow, [has_pow]), (has_scalar, [out_param]), (has_scalar.mk, [has_scalar, out_param]), (has_scalar.smul, [has_scalar]), (has_sdiff, []), (has_sdiff.mk, [has_sdiff]), (has_sdiff.sdiff, [has_sdiff]), (has_sep, [out_param]), (has_sep.mk, [has_sep, out_param]), (has_sep.sep, [has_sep]), (has_sizeof, []), (has_sizeof.mk, [has_sizeof, nat]), (has_sizeof.sizeof, [nat, has_sizeof]), (has_ssubset, []), (has_ssubset.mk, [has_ssubset]), (has_ssubset.ssubset, [has_ssubset]), (has_sub, []), (has_sub.mk, [has_sub]), (has_sub.sub, [has_sub]), (has_subset, []), (has_subset.mk, [has_subset]), (has_subset.subset, [has_subset]), (has_union, []), (has_union.mk, [has_union]), (has_union.union, [has_union]), (has_well_founded, []), (has_well_founded.mk, [has_well_founded, well_founded]), (has_well_founded.r, [has_well_founded]), (has_well_founded.wf, [has_well_founded.r, well_founded, has_well_founded]), (has_well_founded_of_has_sizeof, [sizeof_measure_wf, sizeof_measure, has_well_founded.mk, has_well_founded, has_sizeof]), (has_zero, []), (has_zero.mk, [has_zero]), (has_zero.zero, [has_zero]), (heq, []), (heq.rec, [heq]), (heq.rec_on, [heq.rec, heq]), (heq.refl, [heq]), (id, []), (id.def, [rfl, id, eq]), (id_delta, []), (id_rhs, []), (if_ctx_congr, [iff.mpr, not_iff_not_of_iff, iff.mp, absurd, decidable.is_true, id_rhs, decidable.is_false, decidable.cases_on, ite, not, eq, iff, decidable]), (if_ctx_simp_congr, [if_ctx_congr, decidable_of_decidable_of_iff, ite, not, eq, iff, decidable]), (if_false, [not_false, if_neg, ite, eq, false, decidable]), (if_neg, [absurd, decidable.is_true, rfl, decidable.is_false, id_rhs, decidable.cases_on, ite, eq, not, decidable]), (if_pos, [rfl, decidable.is_true, absurd, decidable.is_false, id_rhs, not, decidable.cases_on, ite, eq, decidable]), (if_simp_congr, [not, if_ctx_simp_congr, decidable_of_decidable_of_iff, ite, eq, iff, decidable]), (if_t_t, [decidable.is_true, rfl, decidable.is_false, id_rhs, not, decidable.cases_on, ite, eq, decidable]), (if_true, [trivial, if_pos, ite, eq, true, decidable]), (iff, []), (iff.comm, [iff.symm, iff.intro, iff]), (iff.decidable, [iff.decidable._proof_4, iff.decidable._proof_3, iff.decidable._proof_2, decidable.is_false, not, iff.decidable._proof_1, decidable.is_true, dite, iff, decidable]), (iff.decidable._proof_1, [iff.intro, iff]), (iff.decidable._proof_2, [iff.mp, false, iff, not]), (iff.decidable._proof_3, [iff.mpr, false, iff, not]), (iff.decidable._proof_4, [absurd, iff.intro, iff, not]), (iff.elim_left, [iff.mp, iff]), (iff.elim_right, [iff.mpr, iff]), (iff.intro, [iff]), (iff.mp, [iff]), (iff.mpr, [iff]), (iff.refl, [iff.intro, iff]), (iff.rfl, [iff.refl, iff]), (iff.symm, [iff.elim_left, iff.elim_right, iff.intro, iff]), (iff.trans, [iff.mpr, iff.mp, iff.intro, iff]), (iff_def, [iff_iff_implies_and_implies, and, iff]), (iff_false, [iff_false_intro, iff.mp, iff.intro, not, false, iff]), (iff_false_intro, [false.rec, iff.intro, false, iff, not]), (iff_iff_implies_and_implies, [and.right, and.left, iff.mpr, iff.mp, and.intro, iff.intro, and, iff]), (iff_not_comm, [not_imp_comm, imp_not_comm, and_congr, iff_def, propext, eq.refl, eq.rec, eq, id, and, eq.mpr, not, iff, decidable]), (iff_self, [iff.rfl, iff_true_intro, true, iff]), (iff_true, [iff_true_intro, trivial, iff.mpr, iff.intro, true, iff]), (iff_true_intro, [trivial, iff.intro, true, iff]), (imp.swap, [function.swap, iff.intro, iff]), (imp_congr, [iff.mpr, iff.mp, iff.intro, iff]), (imp_congr_ctx, [iff.mpr, iff.mp, iff.intro, iff]), (imp_congr_ctx_eq, [eq.to_iff, imp_congr_ctx, propext, eq]), (imp_congr_eq, [eq.to_iff, imp_congr, propext, eq]), (imp_eq_of_eq_true_left, [trivial, iff.intro, propext, eq.symm, eq.subst, true, eq]), (imp_iff_not_or, [or.neg_resolve_left, not_or_of_imp, iff.intro, not, or, iff, decidable]), (imp_intro, []), (imp_not_comm, [false, imp.swap, not, iff]), (imp_self, [id, iff_true_intro, true, iff]), (implies.decidable, [implies.decidable._proof_3, implies.decidable._proof_2, decidable.is_false, not, implies.decidable._proof_1, decidable.is_true, dite, decidable]), (implies.decidable._proof_1, []), (implies.decidable._proof_2, [absurd, false, not]), (implies.decidable._proof_3, [absurd, not]), (implies_true_iff, [trivial, iff.intro, true, iff]), (infer_instance, []), (inhabited, []), (inhabited.default, [inhabited]), (inhabited.mk, [inhabited]), (insert, [has_insert.insert, has_insert]), (int, []), (int.add, [int.add._main, int]), (int.add._main, [int.neg_succ_of_nat, nat.succ, int.sub_nat_nat, nat.has_add, has_add.add, int.of_nat, id_rhs, nat, int.cases_on, int]), (int.add_comm_monoid, [int.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_add_comm_monoid, int, add_comm_monoid]), (int.add_comm_semigroup, [int.add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, int, add_comm_semigroup]), (int.add_le_add_left, [add_assoc, eq.refl, eq.rec, id, int.add_semigroup, add_semigroup.to_has_add, eq.mpr, int.le.intro, int.has_coe, coe_base, coe_to_lift, coe, eq, nat, int.le.elim, int.has_add, has_add.add, int.has_le, has_le.le, int]), (int.add_lt_add_left, [int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_left_cancel_add_semigroup, add_left_cancel, eq.refl, eq.rec, eq.mp, int.lt_irrefl, eq, int.le_of_lt, int.add_le_add_left, and.intro, int.lt_iff_le_and_ne, ne, int.has_le, has_le.le, and, iff.mpr, int.has_add, has_add.add, int.has_lt, has_lt.lt, int]), (int.add_mod_eq_add_mod_right, [int.mod_add_mod, eq.symm, eq.refl, eq.rec, id, eq.mpr, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, int]), (int.add_mod_mod, [int.mod_add_mod, add_comm, eq.refl, eq.rec, id, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, int]), (int.add_monoid, [int.comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, int, add_monoid]), (int.add_mul_div_right, [nat.sub_mul_div, int.neg_succ_of_nat_coe', int.neg_succ_of_nat, nat.le_div_iff_mul_le, nat.has_le, has_le.le, neg_sub, sub_sub, int.has_one, nat.mul_sub_div, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, nat.div_lt_iff_lt_mul, nat.has_lt, iff.mpr, int.coe_nat_sub, nat.has_sub, lt_or_ge, preorder.to_has_le, ge, nat.linear_order, nat.has_one, has_one.one, nat.succ_pos, nat.add_mul_div_right, congr_arg, nat.has_mul, nat.has_add, nat.has_div, int.eq_succ_of_zero_lt, heq.refl, sub_add_cancel, add_group_has_sub, eq_sub_of_add_eq, int.has_sub, has_sub.sub, int.cases_on, int.of_nat, heq, eq.dcases_on, Exists.dcases_on, Exists, lt_trichotomy, absurd, neg_pos_of_neg, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_add_comm_group, neg_mul_neg, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, neg_add, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, int.div_neg, eq.symm, eq.refl, eq.rec, id, int.has_neg, add_group.to_has_neg, has_neg.neg, eq.mpr, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, neg_inj, id_rhs, or.dcases_on, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, or, int.has_lt, gt, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, nat, int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_div, has_div.div, eq, int.has_zero, has_zero.zero, ne, int]), (int.add_mul_mod_self, [add_sub_add_right_eq_sub, add_group.to_add_monoid, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, mul_comm, int.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, mul_add, distrib.to_has_mul, int.distrib, distrib.to_has_add, int.add_mul_div_right, int.mod_def, int.has_div, has_div.div, int.has_sub, has_sub.sub, not, add_zero, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, mul_zero, mul_zero_class.to_has_mul, int.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.refl, eq.rec, id, eq.mpr, int.decidable_eq, int.has_zero, has_zero.zero, dite, int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, int]), (int.add_mul_mod_self_left, [int.add_mul_mod_self, mul_comm, eq.refl, eq.rec, id, int.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, int.has_mul, has_mul.mul, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, int]), (int.add_semigroup, [int.add_monoid, add_monoid.to_add_semigroup, int, add_semigroup]), (int.bi_total_rel_int_nat_nat, [int.right_total_rel_int_nat_nat, int.left_total_rel_int_nat_nat, relator.right_total, relator.left_total, and.intro, int.rel_int_nat_nat, nat, prod, int, relator.bi_total]), (int.cases_on, [int.rec, int.neg_succ_of_nat, int.of_nat, nat, int]), (int.cast, [int.cast._main, int, has_neg, has_add, has_one, has_zero]), (int.cast._main, [has_one.one, has_add.add, has_neg.neg, nat.cast_coe, coe_base, coe_to_lift, coe, id_rhs, nat, int.cases_on, int, has_neg, has_add, has_one, has_zero]), (int.cast_add, [trivial, eq_self_iff_true, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, nat.add_monoid, add_zero, add_left_comm, has_add, congr, bit0, true, congr_arg, nat.cast_add_one, neg_add_rev, nat.has_one, neg_add_cancel_left, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, nat.cast_succ, eq.symm, add_assoc, eq.refl, eq.rec, id, eq.mpr, has_one.one, has_neg.neg, sub_eq_of_eq_add, eq.trans, int.has_coe, int.neg_succ_of_nat, int.cast_sub_nat_nat, add_group_has_sub, has_sub.sub, nat.succ, int.sub_nat_nat, nat.cast_add, nat.has_add, nat.cast_coe, id_rhs, int.of_nat, nat, int.cases_on, int.has_add, has_add.add, add_group.to_has_neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, eq, int, has_one, add_group]), (int.cast_coe, [int.cast, has_coe.mk, int, has_coe, has_neg, has_add, has_one, has_zero]), (int.cast_coe_nat, [rfl, nat.cast_coe, int.has_coe, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, nat, has_neg, has_add, has_one, has_zero]), (int.cast_mul, [neg_mul_neg, neg_mul_eq_neg_mul, neg_mul_eq_mul_neg, nat.cast_add_one, eq.refl, eq.rec, id, eq.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, int.cast_neg_of_nat, has_neg.neg, eq.trans, int.neg_succ_of_nat, int.has_coe, nat.succ, int.neg_of_nat, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, nat.cast_mul, nat.has_mul, semiring.to_distrib, semiring.to_monoid, nat.cast_coe, id_rhs, int.of_nat, nat, int.cases_on, mul_zero_class.to_has_mul, int.has_mul, has_mul.mul, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, eq, int, ring]), (int.cast_neg, [neg_neg, eq.symm, int.neg_succ_of_nat, int.cast_neg_of_nat, nat.cast_coe, int.neg_of_nat, id_rhs, nat, int.cases_on, int.has_neg, has_neg.neg, add_group.to_has_neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, eq, int, has_one, add_group]), (int.cast_neg_of_nat, [rfl, nat.has_one, has_one.one, nat.has_add, has_add.add, neg_zero, eq.symm, has_zero.zero, id_rhs, nat.cases_on, nat.cast_coe, has_neg.neg, int.neg_of_nat, add_group.to_has_neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, nat, has_one, add_group]), (int.cast_neg_succ_of_nat, [rfl, has_one.one, nat.cast_coe, has_add.add, has_neg.neg, int.neg_succ_of_nat, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, nat, has_neg, has_add, has_one, has_zero]), (int.cast_of_nat, [rfl, nat.cast_coe, int.of_nat, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, nat, has_neg, has_add, has_one, has_zero]), (int.cast_one, [nat.cast_one, int.has_one, has_one.one, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_monoid.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, has_neg, has_one, add_monoid]), (int.cast_pow, [int.cast_mul, pow_one, has_mul, pow_add, nat.succ_eq_add_one, nat.has_add, has_add.add, nat.has_one, monoid.to_semigroup, semigroup.to_has_mul, mul_zero_class.to_has_mul, has_mul.mul, nat.succ, trivial, eq_self_iff_true, propext, add_group.to_add_monoid, int.cast_one, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, has_zero.zero, has_lift_t, congr_arg, congr, has_one.one, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, int.monoid, monoid.has_pow, has_pow.pow, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, eq, nat, int, ring]), (int.cast_sub_nat_nat, [rfl, neg_sub, nat.lt_of_sub_eq_succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_of_lt, nat.cast_succ, eq.symm, int.cast_neg_succ_of_nat, has_one.one, int.sub_nat_nat._match_1.equations._eqn_2, eq.rec, int.neg_succ_of_nat, nat.succ, trivial, eq_self_iff_true, add_right_inj, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, sub_eq_add_neg, true.intro, nat.le_of_sub_eq_zero, iff_true_intro, nat.has_le, has_le.le, iff.mpr, nat.cast_sub, int.cast_of_nat, int.sub_nat_nat._match_1.equations._eqn_1, nat.nat_zero_eq_zero, nat.has_zero, has_zero.zero, int.of_nat, has_neg.neg, has_add.add, eq.trans, true, nat.zero, nat.cases_on, eq.refl, int.sub_nat_nat.equations._eqn_1, has_lift_t, congr_arg, congr, id, nat.has_sub, int.sub_nat_nat._match_1, eq.mpr, nat.cast_coe, add_group_has_sub, has_sub.sub, int.sub_nat_nat, add_group.to_has_neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, nat, has_one, add_group]), (int.cast_zero, [rfl, int.has_zero, has_zero.zero, int.cast_coe, coe_base, coe_to_lift, int, coe, eq, has_neg, has_add, has_one, has_zero]), (int.coe_nat_add, [rfl, int.has_add, nat.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_dvd, [int.coe_nat_mul, nat.has_mul, int.has_mul, dvd.intro, int.coe_nat_inj, Exists.intro, eq.rec, int.coe_nat_pos, int.has_lt, preorder.to_has_lt, has_lt.lt, eq.symm, has_le, ordered_semiring.to_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_linear_ordered_semiring, nonneg_of_mul_nonneg_left, int.eq_coe_of_zero_le, Exists, trivial, eq_self_iff_true, zero_dvd_iff, int.coe_nat_eq_zero, propext, zero_mul, int.coe_nat_zero, has_lift_t, has_mul, int.semiring, eq.refl, int.has_zero, eq.mp, congr_arg, congr, has_dvd, mul_zero_class.to_has_zero, eq.trans, id, true, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.elim, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, Exists.dcases_on, iff.intro, nat.comm_semiring, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, iff, nat]), (int.coe_nat_eq, [rfl, int.of_nat, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_eq_coe_nat_iff, [int.of_nat_eq_of_nat_iff, int.has_coe, coe_base, coe_to_lift, coe, int, eq, iff, nat]), (int.coe_nat_eq_zero, [iff.refl, int.coe_nat_inj', propext, int.coe_nat_zero, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.has_zero, int.has_zero, has_zero.zero, int.has_coe, coe_base, coe_to_lift, coe, int, eq, iff, nat]), (int.coe_nat_inj', [int.coe_nat_eq_coe_nat_iff, int.has_coe, coe_base, coe_to_lift, coe, int, eq, iff, nat]), (int.coe_nat_inj, [int.of_nat_inj, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_le, [int.coe_nat_le_coe_nat_iff, nat.has_le, int.has_coe, coe_base, coe_to_lift, coe, int.has_le, int, has_le.le, iff, nat]), (int.coe_nat_le_coe_nat_iff, [int.coe_nat_le_coe_nat_of_le, int.le_of_coe_nat_le_coe_nat, iff.intro, nat.has_le, int.has_coe, coe_base, coe_to_lift, coe, int.has_le, int, has_le.le, iff, nat]), (int.coe_nat_le_coe_nat_of_le, [nat.le.dest, eq.symm, eq.refl, eq.rec, id, int.has_add, eq.mpr, int.le.intro, id_rhs, Exists.dcases_on, nat.has_add, has_add.add, eq, Exists, int.has_coe, coe_base, coe_to_lift, coe, int.has_le, int, nat.has_le, has_le.le, nat]), (int.coe_nat_lt, [int.coe_nat_lt_coe_nat_iff, nat.has_lt, int.has_coe, coe_base, coe_to_lift, coe, int.has_lt, int, has_lt.lt, iff, nat]), (int.coe_nat_lt_coe_nat_iff, [iff.refl, int.coe_nat_le_coe_nat_iff, nat.has_le, int.coe_nat_succ, eq.symm, nat.succ, int.lt_iff_add_one_le, propext, eq.refl, eq.rec, eq, id, int.has_one, has_one.one, int.has_add, has_add.add, int.has_le, has_le.le, eq.mpr, nat.has_lt, int.has_coe, coe_base, coe_to_lift, coe, int.has_lt, int, has_lt.lt, iff, nat]), (int.coe_nat_lt_coe_nat_of_lt, [int.coe_nat_lt_coe_nat_iff, iff.mpr, int.has_coe, coe_base, coe_to_lift, coe, int.has_lt, int, nat.has_lt, has_lt.lt, nat]), (int.coe_nat_mod, [rfl, int.has_mod, nat.has_mod, has_mod.mod, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_mul, [rfl, int.has_mul, nat.has_mul, has_mul.mul, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_ne_zero, [int.coe_nat_eq_zero, eq, not_congr, nat.has_zero, int.has_zero, has_zero.zero, int.has_coe, coe_base, coe_to_lift, coe, int, ne, iff, nat]), (int.coe_nat_ne_zero_iff_pos, [int.coe_nat_lt, int.has_lt, iff.mpr, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, ne.symm, int.coe_nat_ne_zero, iff.mp, nat.pos_of_ne_zero, iff.intro, nat.has_zero, nat.has_lt, has_lt.lt, int.has_zero, has_zero.zero, int.has_coe, coe_base, coe_to_lift, coe, int, ne, iff, nat]), (int.coe_nat_nonneg, [nat.zero_le, int.coe_nat_le, nat.has_le, nat.has_zero, iff.mpr, int.has_coe, coe_base, coe_to_lift, coe, int.has_zero, has_zero.zero, int.has_le, int, has_le.le, nat]), (int.coe_nat_pos, [iff.refl, int.coe_nat_lt, propext, int.coe_nat_zero, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_zero, nat.has_lt, int.has_coe, coe_base, coe_to_lift, coe, int.has_zero, has_zero.zero, int.has_lt, int, has_lt.lt, iff, nat]), (int.coe_nat_sub, [int.of_nat_sub, int.has_sub, nat.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat.has_le, has_le.le, nat]), (int.coe_nat_succ, [rfl, int.has_one, has_one.one, int.has_add, has_add.add, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (int.coe_nat_zero, [rfl, int.has_zero, nat.has_zero, has_zero.zero, int.has_coe, coe_base, coe_to_lift, nat, coe, int, eq]), (int.coe_zero_le, [nat.zero_le, nat.has_zero, int.coe_nat_le_coe_nat_of_le, int.has_coe, coe_base, coe_to_lift, coe, int.has_zero, has_zero.zero, int.has_le, int, has_le.le, nat]), (int.comm_ring, [int.comm_ring._proof_11, int.comm_ring._proof_10, int.comm_ring._proof_9, int.comm_ring._proof_8, int.comm_ring._proof_7, int.one, int.comm_ring._proof_6, int.mul, int.comm_ring._proof_5, int.comm_ring._proof_4, int.neg, int.comm_ring._proof_3, int.comm_ring._proof_2, int.zero, int.comm_ring._proof_1, int.add, comm_ring.mk, int, comm_ring]), (int.comm_ring._proof_1, [trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, add_left_comm, add_comm, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, prod.mk, prod.fst, nat.has_add, nat, prod, iff.mpr, int.add, has_add.mk, has_add.add, eq, int]), (int.comm_ring._proof_10, [trivial, implies_true_iff, eq_self_iff_true, propext, distrib.to_has_add, distrib.to_has_mul, nat.comm_semigroup, mul_comm, add_comm, eq.refl, add_left_comm, nat.distrib, add_mul, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_mul, prod.mk, prod.fst, nat.has_add, nat, prod, iff.mpr, int.add, has_add.mk, has_add.add, int.mul, has_mul.mk, has_mul.mul, eq, int]), (int.comm_ring._proof_11, [trivial, implies_true_iff, eq_self_iff_true, propext, mul_add, add_comm, add_left_comm, eq.refl, has_mul, mul_left_comm, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, add_mul, distrib.to_has_add, nat.distrib, distrib.to_has_mul, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_mul, prod.mk, prod.fst, nat.has_add, has_add.add, nat, prod, has_mul.mk, iff.mpr, int.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.comm_ring._proof_2, [trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, nat.add_monoid, zero_add, has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_zero, int.rel_add, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_zero, prod.mk, prod.fst, nat.has_add, has_add.add, nat, prod, iff.mpr, int.zero, has_zero.mk, has_zero.zero, int.add, eq, int]), (int.comm_ring._proof_3, [nat.add_monoid, add_zero, int.rel_zero, nat.has_zero, int.zero, has_zero.mk, has_zero.zero, trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, add_left_comm, add_comm, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, prod.mk, prod.fst, nat.has_add, nat, prod, has_add.mk, iff.mpr, int.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.comm_ring._proof_4, [int.rel_neg, add_zero, add_semigroup.mk, nat.add_monoid, zero_add, int.rel_zero, nat.has_zero, has_zero.mk, has_zero.zero, int.zero, trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, add_left_comm, add_comm, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, prod.mk, prod.fst, nat.has_add, nat, prod, has_add.mk, has_add.add, iff.mpr, add_monoid.mk, add_monoid.zero, int.neg, has_neg.mk, has_neg.neg, int.add, eq, int]), (int.comm_ring._proof_5, [trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, add_left_comm, add_comm, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, prod.mk, prod.fst, nat.has_add, nat, prod, has_add.mk, iff.mpr, int.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.comm_ring._proof_6, [trivial, implies_true_iff, eq_self_iff_true, propext, mul_add, add_comm, add_left_comm, eq.refl, has_mul, mul_left_comm, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, add_mul, distrib.to_has_add, nat.distrib, distrib.to_has_mul, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_mul, prod.mk, prod.fst, nat.has_add, has_add.add, nat, prod, iff.mpr, int.mul, has_mul.mk, has_mul.mul, eq, int]), (int.comm_ring._proof_7, [trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, nat.add_monoid, add_zero, nat.semiring, semiring.to_mul_zero_class, zero_mul, nat.monoid, one_mul, has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_one, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_zero, has_zero.zero, nat.has_one, nat.has_mul, has_mul.mul, prod.mk, prod.fst, nat.has_add, has_add.add, nat, prod, iff.mpr, int.one, has_one.mk, has_one.one, int.mul, eq, int]), (int.comm_ring._proof_8, [zero_add, nat.add_monoid, add_zero, zero_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.monoid, one_mul, int.rel_one, nat.has_zero, has_zero.zero, nat.has_one, int.one, has_one.mk, has_one.one, trivial, implies_true_iff, eq_self_iff_true, propext, mul_add, add_comm, add_left_comm, eq.refl, has_mul, mul_left_comm, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, add_mul, distrib.to_has_add, nat.distrib, distrib.to_has_mul, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_mul, prod.mk, prod.fst, nat.has_add, has_add.add, nat, prod, has_mul.mk, iff.mpr, int.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.comm_ring._proof_9, [trivial, implies_true_iff, eq_self_iff_true, propext, distrib.to_has_add, distrib.to_has_mul, nat.comm_semigroup, mul_comm, add_comm, eq.refl, add_left_comm, nat.distrib, mul_add, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, int.rel_add, int.rel_mul, int.rel_eq, int.bi_total_rel_int_nat_nat, int.rel_int_nat_nat, relator.rel_forall_of_total, prod.snd, nat.has_mul, prod.mk, prod.fst, nat.has_add, nat, prod, iff.mpr, int.add, has_add.mk, has_add.add, int.mul, has_mul.mk, has_mul.mul, eq, int]), (int.comm_semigroup, [int.comm_ring, comm_ring.to_comm_semigroup, int, comm_semigroup]), (int.comm_semiring, [int.comm_ring, comm_ring.to_comm_semiring, int, comm_semiring]), (int.decidable_eq, [int.neg_succ_of_nat.inj_arrow, int.no_confusion, int.neg_succ_of_nat, absurd, false, int.of_nat.inj_arrow, decidable.is_false, not, eq.refl, decidable.is_true, eq.rec, nat.decidable_eq, decidable.by_cases, int.of_nat, nat, eq, decidable, int.cases_on, id, int, decidable_eq]), (int.decidable_le, [int.has_sub, has_sub.sub, _private.333421945.decidable_nonneg, int.has_le, has_le.le, decidable, int]), (int.decidable_linear_ordered_comm_group, [int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_decidable_linear_ordered_comm_group, int, decidable_linear_ordered_comm_group]), (int.decidable_linear_ordered_comm_ring, [int.decidable_lt, int.decidable_eq, int.decidable_le, comm_ring.mul_comm, int.zero_lt_one, int.le_total, int.mul_pos, int.mul_nonneg, int.zero_ne_one_class, zero_ne_one, int.add_lt_add_left, int.add_le_add_left, int.le_antisymm, int.lt_iff_le_not_le, int.le_trans, int.le_refl, int.lt, int.le, comm_ring.right_distrib, comm_ring.left_distrib, comm_ring.mul_one, comm_ring.one_mul, comm_ring.one, comm_ring.mul_assoc, comm_ring.mul, comm_ring.add_comm, comm_ring.add_left_neg, comm_ring.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, int.comm_ring, comm_ring.add, decidable_linear_ordered_comm_ring.mk, int, decidable_linear_ordered_comm_ring]), (int.decidable_lt, [int.has_one, has_one.one, int.has_add, has_add.add, int.has_sub, has_sub.sub, _private.333421945.decidable_nonneg, int.has_lt, has_lt.lt, decidable, int]), (int.distrib, [int.ring, ring.to_distrib, int, distrib]), (int.div, [int.div._main, int]), (int.div._main, [int.neg_succ_of_nat, int.has_zero, has_zero.zero, nat.cases_on, nat.succ, int.has_neg, has_neg.neg, nat.has_div, has_div.div, int.of_nat, id_rhs, nat, int.cases_on, int]), (int.div_neg, [neg_neg, eq.symm, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, nat.succ, int.neg_succ_of_nat, int.has_zero, rfl, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.div_zero, eq.refl, eq.rec, id, eq.mpr, int.has_coe, coe_base, coe_to_lift, coe, nat.has_zero, has_zero.zero, nat.has_div, id_rhs, nat.zero, int.of_nat, nat.cases_on, nat, int.cases_on, int.has_neg, has_neg.neg, int.has_div, has_div.div, eq, int]), (int.div_zero, [int.neg_succ_of_nat, nat.has_one, has_one.one, nat.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, rfl, id_rhs, int.of_nat, nat.cases_on, nat, int.cases_on, int.has_zero, has_zero.zero, int.has_div, has_div.div, eq, int]), (int.dvd_iff_mod_eq_zero, [int.dvd_of_mod_eq_zero, int.mod_eq_zero_of_dvd, iff.intro, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, int]), (int.dvd_nat_abs, [dvd_neg_iff_dvd, propext, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, iff.refl, eq.symm, eq.refl, eq.rec, id, eq.mpr, int.nat_abs_eq, int.has_neg, has_neg.neg, eq, or.elim, int.nat_abs, int.has_coe, coe_base, coe_to_lift, nat, coe, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, int]), (int.dvd_of_mod_eq_zero, [int.mul_div_cancel_of_mod_eq_zero, int.has_mul, eq.symm, int.has_div, has_div.div, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, Exists.intro, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int]), (int.eq_coe_of_zero_le, [int.le.dest_sub, int.add_monoid, add_zero, neg_zero, eq.refl, has_add, sub_eq_add_neg, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, eq.trans, congr, funext, congr_arg, int.has_sub, has_sub.sub, eq.mp, int.has_coe, coe_base, coe_to_lift, coe, eq, nat, Exists, int.has_zero, has_zero.zero, int.has_le, has_le.le, int]), (int.eq_succ_of_zero_lt, [int.le.dest, add_comm, eq.refl, eq.rec, nat.has_add, eq.mp, nat.has_one, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.symm, Exists.intro, id_rhs, Exists.dcases_on, int.has_one, has_one.one, int.has_add, has_add.add, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, eq, nat, Exists, int.has_zero, has_zero.zero, int.has_lt, has_lt.lt, int]), (int.eq_zero_of_nat_abs_eq_zero, [nat.succ_ne_zero, absurd, int.neg_succ_of_nat, congr_arg, id_rhs, int.of_nat, int.cases_on, int.has_zero, nat.has_zero, has_zero.zero, int.nat_abs, nat, eq, int]), (int.has_add, [int.add, has_add.mk, int, has_add]), (int.has_coe, [int.of_nat, has_coe.mk, int, nat, has_coe]), (int.has_div, [int.div, has_div.mk, int, has_div]), (int.has_le, [int.le, has_le.mk, int, has_le]), (int.has_lt, [int.lt, has_lt.mk, int, has_lt]), (int.has_mod, [int.mod, has_mod.mk, int, has_mod]), (int.has_mul, [int.mul, has_mul.mk, int, has_mul]), (int.has_neg, [int.neg, has_neg.mk, int, has_neg]), (int.has_one, [int.one, has_one.mk, int, has_one]), (int.has_sizeof_inst, [int.sizeof, has_sizeof.mk, int, has_sizeof]), (int.has_sub, [int.comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, int, has_sub]), (int.has_zero, [int.zero, has_zero.mk, int, has_zero]), (int.inhabited, [int.has_zero, has_zero.zero, inhabited.mk, int, inhabited]), (int.le, [int.has_sub, has_sub.sub, _private.512557913.nonneg, int]), (int.le.dest, [int.le.dest_sub, trivial, eq_self_iff_true, propext, neg_add_cancel_right, sub_eq_add_neg, has_add, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, congr_arg, congr, eq.trans, true, add_comm, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, exists.intro, id_rhs, Exists.dcases_on, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, Exists, int.has_le, has_le.le, int]), (int.le.dest_sub, [_private.4294557591.nonneg.elim, int.has_coe, coe_base, coe_to_lift, coe, int.has_sub, has_sub.sub, eq, nat, Exists, int.has_le, has_le.le, int]), (int.le.elim, [int.le.dest, exists.elim, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.has_le, has_le.le, int]), (int.le.intro, [neg_add_cancel_left, add_comm, sub_eq_add_neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_group.to_has_neg, has_neg.neg, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, eq.trans, congr_arg, congr, eq.symm, eq.refl, eq.rec, id, int.has_sub, has_sub.sub, eq.mpr, int.le.intro_sub, int.has_le, has_le.le, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int]), (int.le.intro_sub, [trivial, eq.refl, eq.rec, id, eq.mpr, _private.512557913.nonneg, int.has_le, has_le.le, int.has_coe, coe_base, coe_to_lift, coe, int.has_sub, has_sub.sub, eq, nat, int]), (int.le_antisymm, [add_assoc, int.add_semigroup, int.coe_nat_add, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_left_cancel_add_semigroup, add_left_cancel, int.coe_nat_inj, nat.eq_zero_of_add_eq_zero_right, add_zero, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, int.coe_nat_zero, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.has_zero, int.has_zero, has_zero.zero, nat.has_add, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, nat, int.le.elim, eq, int.has_le, has_le.le, int]), (int.le_of_coe_nat_le_coe_nat, [int.coe_nat_add, eq.trans, int.coe_nat_inj, nat.le.intro, nat.has_add, int.has_add, has_add.add, eq, int.le.elim, nat.has_le, int.has_coe, coe_base, coe_to_lift, coe, int.has_le, int, has_le.le, nat]), (int.le_of_lt, [int.le.intro, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.lt.elim, int.has_le, has_le.le, int.has_lt, has_lt.lt, int]), (int.le_refl, [int.add_monoid, add_zero, nat.has_zero, nat, has_zero.zero, int.le.intro, int.has_le, has_le.le, int]), (int.le_total, [_private.1541877095.nonneg_or_nonneg_neg, trivial, eq_self_iff_true, propext, eq.refl, neg_neg, has_add, neg_add_rev, sub_eq_add_neg, has_neg, add_group.to_has_neg, congr_arg, congr, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.trans, id, true, eq.mpr, eq.subst, eq, int.has_sub, has_sub.sub, int.has_neg, has_neg.neg, _private.512557913.nonneg, or.imp_right, int.has_le, has_le.le, or, int]), (int.le_trans, [add_assoc, int.add_semigroup, add_semigroup.to_has_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.has_add, int.le.intro, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.le.elim, int.has_le, has_le.le, int]), (int.left_total_rel_int_nat_nat, [int.left_total_rel_int_nat_nat._main, int.rel_int_nat_nat, nat, prod, int, relator.left_total]), (int.left_total_rel_int_nat_nat._main, [int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, int.rel_int_nat_nat.pos, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, prod.mk, Exists.intro, int.of_nat, id_rhs, Exists, int.cases_on, int.rel_int_nat_nat, nat, prod, int, relator.left_total]), (int.lt, [int.has_one, has_one.one, int.has_add, has_add.add, int.has_le, has_le.le, int]), (int.lt.dest, [add_comm, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_assoc, int.add_semigroup, add_semigroup.to_has_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, exists.intro, int.has_one, has_one.one, int.le.elim, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, Exists, int.has_lt, has_lt.lt, int]), (int.lt.elim, [int.lt.dest, exists.elim, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.has_lt, has_lt.lt, int]), (int.lt.intro, [int.lt_add_succ, eq.subst, int.has_lt, has_lt.lt, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int]), (int.lt_add_succ, [add_left_comm, add_comm, int.coe_nat_eq, eq.refl, has_add, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.trans, congr_arg, congr, id, int.of_nat, eq.mpr, eq, int.has_one, has_one.one, int.le.intro, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, int.has_lt, has_lt.lt, nat, int]), (int.lt_iff_add_one_le, [iff.refl, int.has_one, has_one.one, int.has_add, has_add.add, int.has_le, has_le.le, int.has_lt, has_lt.lt, iff, int]), (int.lt_iff_le_and_ne, [add_zero, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, int.coe_nat_zero, int.has_zero, id, eq.mpr, nat.pos_of_ne_zero, nat.succ_pred_eq_of_pos, eq.symm, eq.refl, eq.rec, eq.mp, int.lt.intro, nat.pred, nat.succ, nat.has_zero, has_zero.zero, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.le.elim, id_rhs, and.dcases_on, int.ne_of_lt, int.le_of_lt, and.intro, iff.intro, ne, int.has_le, has_le.le, and, int.has_lt, has_lt.lt, iff, int]), (int.lt_iff_le_not_le, [iff_false_intro, has_le, not_true, eq_self_iff_true, int.le_antisymm, true, eq.mp, false, false.rec, and.intro, and.dcases_on, iff.intro, ne.def, eq.refl, int.lt_iff_le_and_ne, propext, ne, eq.trans, congr_arg, congr, id, eq, eq.mpr, not, int.has_le, has_le.le, and, int.has_lt, has_lt.lt, iff, int]), (int.lt_irrefl, [add_zero, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.refl, eq.rec, id, eq.mpr, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_left_cancel_add_semigroup, add_left_cancel, int.coe_nat_inj, nat.succ_ne_zero, nat.has_zero, int.has_zero, has_zero.zero, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, false, int.lt.elim, int.has_lt, has_lt.lt, not, int]), (int.lt_of_coe_nat_lt_coe_nat, [int.coe_nat_lt_coe_nat_iff, iff.mp, nat.has_lt, int.has_coe, coe_base, coe_to_lift, coe, int.has_lt, int, has_lt.lt, nat]), (int.mod, [int.mod._main, int]), (int.mod._main, [nat.succ, int.sub_nat_nat, int.nat_abs, nat.has_mod, has_mod.mod, int.has_coe, coe_base, coe_to_lift, coe, id_rhs, nat, int.cases_on, int]), (int.mod_abs, [int.mod_neg, rfl, abs_by_cases, int.decidable_linear_ordered_comm_group, abs, int.has_mod, has_mod.mod, eq, int]), (int.mod_add_cancel_right, [int.add_mod_eq_add_mod_right, add_neg_cancel_right, eq.refl, add_group.to_has_neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, int.has_neg, has_neg.neg, eq.mp, iff.intro, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, iff, int]), (int.mod_add_div, [int.mod_add_div_aux, int.has_sub, has_sub.sub, int.div_zero, int.mod_zero, neg_mul_neg, eq.refl, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, eq.rec, id, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, eq.mpr, int.has_one, int.has_neg, has_neg.neg, nat.succ, rfl, int.neg_succ_of_nat, nat.has_one, has_one.one, int.has_coe, coe_base, coe_to_lift, coe, nat.mod_add_div, congr_arg, nat.has_div, nat.has_mul, int.has_zero, has_zero.zero, int.nat_abs, nat.has_mod, nat.has_add, id_rhs, nat.zero, int.of_nat, nat.cases_on, nat, int.cases_on, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_mod, has_mod.mod, int.has_add, has_add.add, eq, int]), (int.mod_add_div_aux, [nat.mod_add_div, nat.has_div, nat.has_mul, int.nat_abs, nat.has_mod, congr_arg, add_right_comm, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, sub_sub_self, neg_sub, add_group.to_has_neg, eq_neg_of_eq_neg, int.neg_succ_of_nat_coe, nat.has_one, nat.has_add, int.has_neg, has_neg.neg, sub_sub, eq.symm, eq.refl, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, id, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, eq.mpr, int.neg_succ_of_nat, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_one, has_one.one, int.has_mod, has_mod.mod, int.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, int.has_sub, has_sub.sub, int, eq, nat]), (int.mod_add_mod, [int.add_mul_mod_self_left, eq.symm, add_right_comm, int.mod_add_div, eq.refl, eq.rec, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mp, int.has_add, has_add.add, int.has_mod, has_mod.mod, eq, int]), (int.mod_def, [int.mod_add_div, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, eq_sub_of_add_eq, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, int.has_mod, has_mod.mod, eq, int]), (int.mod_eq_mod_iff_mod_sub_eq_zero, [trivial, iff_self, propext, int.zero_mod, add_right_neg, add_group_has_sub, add_monoid.to_has_zero, eq.refl, sub_eq_add_neg, has_mod, congr_arg, congr, add_group.to_has_neg, has_neg.neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.trans, id, true, eq.mpr, int.mod_sub_cancel_right, iff.symm, iff.trans, int.has_zero, has_zero.zero, int.has_sub, has_sub.sub, int.has_mod, has_mod.mod, eq, iff, int]), (int.mod_eq_of_lt, [int.le_of_lt, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_trans, int.eq_coe_of_zero_le, heq.refl, int.lt_of_coe_nat_lt_coe_nat, nat.mod_eq_of_lt, congr_arg, nat.has_mod, id_rhs, eq.refl, eq.rec, int.of_nat, heq, eq.dcases_on, Exists.dcases_on, int.has_coe, coe_base, coe_to_lift, coe, nat, Exists, int.has_mod, has_mod.mod, eq, int.has_lt, has_lt.lt, int.has_zero, has_zero.zero, int.has_le, has_le.le, int]), (int.mod_eq_zero_of_dvd, [heq.refl, int.mul_mod_right, int.has_mul, id_rhs, eq.refl, eq.rec, int.mul, heq, eq.dcases_on, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, Exists.dcases_on, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, int]), (int.mod_lt, [abs_pos_of_ne_zero, int.mod_lt_of_pos, int.mod_abs, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, int.decidable_linear_ordered_comm_group, abs, int.has_mod, has_mod.mod, int.has_lt, has_lt.lt, int.has_zero, has_zero.zero, ne, int]), (int.mod_lt_of_pos, [int.eq_succ_of_zero_lt, nat.has_zero, sub_lt_self, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, int.neg_succ_of_nat, heq.refl, nat.succ_pos, nat.mod_lt, int.coe_nat_lt_coe_nat_of_lt, int.nat_abs, nat.has_mod, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, int.of_nat, Exists.dcases_on, int.cases_on, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, eq, nat, Exists, int.has_mod, has_mod.mod, has_lt.lt, int.has_zero, has_zero.zero, int.has_lt, gt, int]), (int.mod_neg, [nat.succ, int.sub_nat_nat, int.nat_abs_neg, congr_arg, int.nat_abs, nat.has_mod, int.has_coe, coe_base, coe_to_lift, coe, id_rhs, nat, int.cases_on, int.has_neg, has_neg.neg, int.has_mod, has_mod.mod, eq, int]), (int.mod_nonneg, [int.nat_abs_pos_of_ne_zero, nat.mod_lt, int.coe_nat_le_coe_nat_of_le, sub_nonneg_of_le, nat.succ, add_group_has_sub, has_sub.sub, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, int.coe_zero_le, int.nat_abs, nat.has_mod, int.has_coe, coe_base, coe_to_lift, coe, has_le.le, id_rhs, nat, int.cases_on, int.has_mod, has_mod.mod, int.has_le, ge, int.has_zero, has_zero.zero, ne, int]), (int.mod_sub_cancel_right, [int.comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, int.mod_add_cancel_right, int.has_sub, has_sub.sub, int.has_mod, has_mod.mod, eq, iff, int]), (int.mod_zero, [int.neg_succ_of_nat, nat.mod_zero, congr_arg, nat.has_zero, nat.has_mod, int.of_nat, id_rhs, nat, int.cases_on, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int]), (int.modeq, [int.has_mod, has_mod.mod, eq, int]), (int.modeq.equations._eqn_1, [eq.refl, int.has_mod, has_mod.mod, int.modeq, eq, int]), (int.modeq.gcd_a_modeq, [dvd_mul_right, int.modeq.modeq_zero_iff, comm_semiring_has_dvd, has_dvd.dvd, iff.mpr, int.has_zero, int.comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, int.modeq.symm, int.has_mod, has_mod.mod, rfl, int.modeq.modeq_add, nat.gcd_eq_gcd_ab, nat.gcd_b, int.has_add, add_zero, eq.symm, eq.refl, eq.rec, eq, id, add_monoid.to_has_zero, has_zero.zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, nat.gcd, nat.gcd_a, int.has_mul, has_mul.mul, int.has_coe, coe_base, coe_to_lift, int, coe, int.modeq, nat]), (int.modeq.modeq_add, [iff.mp, dvd_add, add_left_comm, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_add, eq.mp, add_assoc, add_comm, neg_add_rev, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, has_add, sub_eq_add_neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, int.add_semigroup, add_semigroup.to_has_add, add_group_has_sub, eq.trans, eq.refl, congr_arg, congr, has_dvd, eq, id, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, eq.mpr, int.modeq.modeq_iff_dvd, int.has_sub, has_sub.sub, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff.mpr, int.has_add, has_add.add, int.modeq, int]), (int.modeq.modeq_and_modeq_iff_modeq_mul, [int.modeq.modeq_of_modeq_mul_left, int.modeq.modeq_of_modeq_mul_right, and.intro, rfl, eq.mp, and.dcases_on, nat.coprime.mul_dvd_of_dvd_of_dvd, int.nat_abs_mul, nat.has_mul, int.coe_nat_dvd, nat.comm_semiring, int.dvd_nat_abs, int.nat_abs_dvd, eq.symm, int.has_coe, coe_base, coe_to_lift, nat, coe, int.modeq.modeq_iff_dvd, propext, eq.refl, eq.rec, eq, id, int.has_sub, has_sub.sub, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, eq.mpr, iff.intro, int.has_mul, has_mul.mul, int.modeq, and, iff, int.nat_abs, nat.coprime, int]), (int.modeq.modeq_iff_dvd, [trivial, iff_self, int.dvd_iff_mod_eq_zero, has_dvd, sub_eq_add_neg, has_mod, int.mod_eq_mod_iff_mod_sub_eq_zero, congr_arg, congr, int.has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.trans, true, eq_comm, propext, int.modeq.equations._eqn_1, eq.refl, eq.rec, id, int.has_mod, has_mod.mod, eq, eq.mpr, int.has_sub, has_sub.sub, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, int.modeq, iff, int]), (int.modeq.modeq_of_modeq_mul_left, [eq.mp, dvd_mul_left, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, dvd.trans, int.modeq.modeq_iff_dvd, propext, eq.refl, eq.rec, eq, id, int.has_sub, has_sub.sub, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, eq.mpr, int.has_mul, has_mul.mul, int.modeq, int]), (int.modeq.modeq_of_modeq_mul_right, [int.modeq.modeq_of_modeq_mul_left, mul_comm, int.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.subst, int.has_mul, has_mul.mul, int.modeq, int]), (int.modeq.modeq_zero_iff, [iff.refl, int.dvd_iff_mod_eq_zero, propext, int.zero_mod, int.modeq.equations._eqn_1, eq.refl, eq.rec, id, int.has_mod, has_mod.mod, eq, eq.mpr, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, int.has_zero, has_zero.zero, int.modeq, iff, int]), (int.modeq.symm, [int.has_mod, has_mod.mod, eq.symm, int.modeq, int]), (int.monoid, [int.comm_ring, comm_ring.to_ring, ring.to_monoid, int, monoid]), (int.mul, [int.mul._main, int]), (int.mul._main, [nat.succ, int.neg_of_nat, nat.has_mul, has_mul.mul, int.of_nat, id_rhs, nat, int.cases_on, int]), (int.mul._main.equations._eqn_1, [id_delta, eq.refl, nat.has_mul, has_mul.mul, int.of_nat, int.mul._main, int, eq, nat]), (int.mul._main.equations._eqn_2, [id_delta, eq.refl, nat.succ, nat.has_mul, has_mul.mul, int.neg_of_nat, int.neg_succ_of_nat, int.of_nat, int.mul._main, int, eq, nat]), (int.mul._main.equations._eqn_3, [id_delta, eq.refl, nat.succ, nat.has_mul, has_mul.mul, int.neg_of_nat, int.of_nat, int.neg_succ_of_nat, int.mul._main, int, eq, nat]), (int.mul._main.equations._eqn_4, [id_delta, eq.refl, nat.succ, nat.has_mul, has_mul.mul, int.of_nat, int.neg_succ_of_nat, int.mul._main, int, eq, nat]), (int.mul.equations._eqn_1, [int.mul._main.equations._eqn_1, nat.has_mul, has_mul.mul, int.of_nat, int.mul, int, eq, nat]), (int.mul.equations._eqn_2, [int.mul._main.equations._eqn_2, nat.succ, nat.has_mul, has_mul.mul, int.neg_of_nat, int.neg_succ_of_nat, int.of_nat, int.mul, int, eq, nat]), (int.mul.equations._eqn_3, [int.mul._main.equations._eqn_3, nat.succ, nat.has_mul, has_mul.mul, int.neg_of_nat, int.of_nat, int.neg_succ_of_nat, int.mul, int, eq, nat]), (int.mul.equations._eqn_4, [int.mul._main.equations._eqn_4, nat.succ, nat.has_mul, has_mul.mul, int.of_nat, int.neg_succ_of_nat, int.mul, int, eq, nat]), (int.mul_div_cancel_of_mod_eq_zero, [int.mod_add_div, zero_add, eq.refl, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, int.has_add, has_add.add, eq.mp, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int]), (int.mul_mod_left, [int.zero_mod, int.add_mul_mod_self, int.has_add, zero_add, eq.symm, eq.refl, eq.rec, id, add_monoid.to_has_zero, int.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, int.has_zero, has_zero.zero, int.has_mul, has_mul.mul, int.has_mod, has_mod.mod, eq, int]), (int.mul_mod_right, [int.mul_mod_left, mul_comm, eq.refl, eq.rec, id, int.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, int.has_zero, has_zero.zero, int.has_mul, has_mul.mul, int.has_mod, has_mod.mod, eq, int]), (int.mul_nonneg, [trivial, eq_self_iff_true, propext, has_mul, int.add_monoid, zero_add, congr_arg, congr, eq.trans, true, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.has_mul, int.le.intro, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.le.elim, int.has_mul, has_mul.mul, int.has_zero, has_zero.zero, int.has_le, has_le.le, int]), (int.mul_pos, [trivial, eq_self_iff_true, propext, nat.succ_add, nat.mul_succ, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, true, int.coe_nat_mul, has_mul, int.add_monoid, zero_add, nat.add_comm_semigroup, add_comm, has_lift_t, has_add, eq.trans, congr_arg, congr, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.has_mul, nat.has_add, int.lt.intro, nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.has_add, has_add.add, eq, nat, int.lt.elim, int.has_mul, has_mul.mul, int.has_zero, has_zero.zero, int.has_lt, has_lt.lt, int]), (int.nat_abs, [int.nat_abs._main, nat, int]), (int.nat_abs._main, [nat.succ, id_rhs, int.cases_on, nat, int]), (int.nat_abs._main.equations._eqn_1, [id_delta, eq.refl, int.of_nat, int.nat_abs._main, eq, nat]), (int.nat_abs._main.equations._eqn_2, [id_delta, eq.refl, nat.succ, int.neg_succ_of_nat, int.nat_abs._main, eq, nat]), (int.nat_abs.equations._eqn_1, [int.nat_abs._main.equations._eqn_1, int.of_nat, int.nat_abs, eq, nat]), (int.nat_abs.equations._eqn_2, [int.nat_abs._main.equations._eqn_2, nat.succ, int.neg_succ_of_nat, int.nat_abs, eq, nat]), (int.nat_abs_dvd, [neg_dvd_iff_dvd, propext, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, iff.refl, eq.symm, eq.refl, eq.rec, id, eq.mpr, int.nat_abs_eq, int.has_neg, has_neg.neg, eq, or.elim, int.nat_abs, int.has_coe, coe_base, coe_to_lift, nat, coe, int.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, int]), (int.nat_abs_eq, [or.inr, int.neg_succ_of_nat, rfl, or.inl, int.of_nat, id_rhs, int.cases_on, int.has_neg, has_neg.neg, int.nat_abs, int.has_coe, coe_base, coe_to_lift, nat, coe, eq, or, int]), (int.nat_abs_mul, [int.mul.equations._eqn_4, int.mul.equations._eqn_3, int.nat_abs.equations._eqn_2, int.nat_abs_neg_of_nat, int.mul.equations._eqn_2, int.neg_of_nat, nat.succ, int.neg_succ_of_nat, trivial, eq_self_iff_true, propext, has_mul, int.nat_abs.equations._eqn_1, int.mul.equations._eqn_1, congr_arg, congr, nat.mul, eq.trans, id, true, eq.mpr, int.of_nat, int.cases_on, nat.has_mul, int.has_mul, has_mul.mul, int.nat_abs, nat, eq, int]), (int.nat_abs_neg, [int.neg_succ_of_nat, nat.succ, nat.zero, eq.refl, int.of_nat, nat.cases_on, int.cases_on, int.has_neg, has_neg.neg, int.nat_abs, nat, eq, int]), (int.nat_abs_neg_of_nat, [nat.succ, nat.zero, eq.refl, nat.cases_on, int.neg_of_nat, int.nat_abs, eq, nat]), (int.nat_abs_of_nonneg, [int.eq_coe_of_zero_le, heq.refl, rfl, id_rhs, eq.refl, eq.rec, int.of_nat, heq, eq.dcases_on, Exists.dcases_on, Exists, int.nat_abs, int.has_coe, coe_base, coe_to_lift, nat, coe, eq, int.has_zero, has_zero.zero, int.has_le, ge, int]), (int.nat_abs_pos_of_ne_zero, [int.eq_zero_of_nat_abs_eq_zero, mt, nat.eq_zero_or_pos, eq, or.resolve_left, nat.has_zero, int.nat_abs, nat.has_lt, nat, gt, int.has_zero, has_zero.zero, ne, int]), (int.nat_mod, [int.has_mod, has_mod.mod, int.to_nat, nat, int]), (int.nat_mod.equations._eqn_1, [eq.refl, int.has_mod, has_mod.mod, int.to_nat, int.nat_mod, nat, eq, int]), (int.ne_of_lt, [int.lt_irrefl, eq.refl, eq.rec, eq.mp, false, absurd, eq, ne, int.has_lt, has_lt.lt, int]), (int.neg, [int.neg._main, int]), (int.neg._main, [nat.succ, int.has_coe, coe_base, coe_to_lift, coe, int.neg_of_nat, id_rhs, nat, int.cases_on, int]), (int.neg_of_nat, [int.neg_of_nat._main, int, nat]), (int.neg_of_nat._main, [int.neg_succ_of_nat, int.has_zero, has_zero.zero, id_rhs, nat.cases_on, int, nat]), (int.neg_succ_lt_zero, [int.eq_coe_of_zero_le, int.no_confusion, int.no_confusion_type, id_rhs, false, Exists.dcases_on, int.has_coe, coe_base, coe_to_lift, coe, eq, Exists, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_linear_order, lt_of_not_ge, int.has_zero, has_zero.zero, int.neg_succ_of_nat, int.has_lt, int, has_lt.lt, nat]), (int.neg_succ_of_nat, [int, nat]), (int.neg_succ_of_nat.inj, [int.no_confusion, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat.inj_arrow, [int.neg_succ_of_nat.inj, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat.inj_eq, [congr_arg, int.neg_succ_of_nat.inj, iff.intro, propext, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat_coe', [neg_add, eq.symm, sub_eq_add_neg, eq.refl, add_group_has_sub, eq.rec, id, add_group.to_has_neg, int.ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, int.has_one, has_one.one, int.has_coe, coe_base, coe_to_lift, coe, int.has_neg, has_neg.neg, int.has_sub, has_sub.sub, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat_coe, [rfl, nat.has_one, has_one.one, nat.has_add, has_add.add, int.has_coe, coe_base, coe_to_lift, coe, int.has_neg, has_neg.neg, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat_inj, [id, int.no_confusion, int.neg_succ_of_nat, int, eq, nat]), (int.neg_succ_of_nat_inj_iff, [trivial, eq_self_iff_true, propext, int.neg_succ_of_nat.inj_eq, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, int.neg_succ_of_nat_inj, iff.intro, int.neg_succ_of_nat, int, eq, iff, nat]), (int.no_confusion, [eq.refl, nat, int.cases_on, eq.rec, int.no_confusion_type, eq, int]), (int.no_confusion_type, [eq, nat, int.cases_on, int]), (int.normalization_domain, [int.normalization_domain._proof_29, int.normalization_domain._proof_28, int.normalization_domain._proof_27, units.has_neg, has_neg.neg, units.has_one, has_one.one, int.normalization_domain._proof_26, int.normalization_domain._proof_25, int.normalization_domain._proof_24, int.normalization_domain._proof_23, int.normalization_domain._proof_22, int.normalization_domain._proof_21, int.normalization_domain._proof_20, int.normalization_domain._proof_19, int.normalization_domain._proof_18, int.normalization_domain._proof_17, int.normalization_domain._proof_16, int.normalization_domain._proof_15, int.normalization_domain._proof_14, integral_domain.mk, integral_domain.to_domain, domain.to_ring, ring.to_monoid, units, int.decidable_le, int.has_zero, has_zero.zero, int.has_le, has_le.le, ite, int.normalization_domain._proof_13, int.normalization_domain._proof_12, int.normalization_domain._proof_11, int.normalization_domain._proof_10, int.normalization_domain._proof_9, int.normalization_domain._proof_8, int.normalization_domain._proof_7, integral_domain.one, int.normalization_domain._proof_6, integral_domain.mul, int.normalization_domain._proof_5, int.normalization_domain._proof_4, integral_domain.neg, int.normalization_domain._proof_3, int.normalization_domain._proof_2, integral_domain.zero, int.normalization_domain._proof_1, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, normalization_domain.mk, int, normalization_domain]), (int.normalization_domain._proof_1, [integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, has_add.mk, has_add.add, eq, int]), (int.normalization_domain._proof_10, [integral_domain.right_distrib, integral_domain.add, has_add.mk, has_add.add, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_11, [integral_domain.mul_comm, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_12, [integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, or, integral_domain.zero, has_zero.mk, has_zero.zero, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_13, [integral_domain.zero_ne_one, integral_domain.one, has_one.mk, has_one.one, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.zero, has_zero.mk, has_zero.zero, int, ne]), (int.normalization_domain._proof_14, [integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, has_add.mk, has_add.add, eq, int]), (int.normalization_domain._proof_15, [integral_domain.zero_add, integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_16, [integral_domain.add_zero, integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_17, [integral_domain.add_left_neg, add_monoid.to_has_zero, has_zero.zero, integral_domain.neg, has_neg.mk, has_neg.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_18, [integral_domain.add_comm, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_19, [integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_2, [integral_domain.zero_add, integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_20, [integral_domain.one_mul, integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_21, [integral_domain.mul_one, integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_22, [integral_domain.left_distrib, integral_domain.add, has_add.mk, has_add.add, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_23, [integral_domain.right_distrib, integral_domain.add, has_add.mk, has_add.add, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_24, [integral_domain.mul_comm, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_25, [integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, or, integral_domain.zero, has_zero.mk, has_zero.zero, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_26, [integral_domain.zero_ne_one, integral_domain.one, has_one.mk, has_one.one, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.zero, has_zero.mk, has_zero.zero, int, ne]), (int.normalization_domain._proof_27, [linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, if_pos, units.has_neg, has_neg.neg, units.has_one, has_one.one, int.decidable_le, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, int.has_zero, has_zero.zero, int.has_le, has_le.le, ite, integral_domain.zero_ne_one, integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, integral_domain.mul_comm, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.one, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, integral_domain.mk, integral_domain.to_domain, domain.to_ring, ring.to_monoid, int, units, eq]), (int.normalization_domain._proof_28, [ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, linear_ordered_ring.to_linear_order, le_of_not_ge, mul_nonneg_of_nonpos_of_nonpos, units.neg_mul_neg, nonneg_of_mul_nonneg_right, units.neg_mul, ne.symm, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, lt_of_le_of_ne, linear_ordered_ring.to_linear_ordered_semiring, nonneg_of_mul_nonneg_left, if_neg, has_neg, units.mul_neg, if_false, iff_false_intro, false, not, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, mul_nonneg, if_pos, units.group, group.to_monoid, mul_one, if_true, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, true, has_mul, eq.trans, eq.refl, congr_arg, congr, id, eq.mpr, dite, units.has_mul, units.has_neg, has_neg.neg, units.has_one, has_one.one, int.decidable_le, no_zero_divisors.to_has_mul, has_mul.mul, int.has_zero, int.has_le, has_le.le, ite, domain.to_ring, ring.to_monoid, units, eq, integral_domain.zero_ne_one, integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, integral_domain.mul_comm, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.one, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, integral_domain.mk, integral_domain.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, int]), (int.normalization_domain._proof_29, [trivial, eq.refl, ring.to_add_comm_group, neg_zero, congr_arg, congr, has_lt, neg_lt, propext, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_ordered_cancel_comm_monoid, preorder.to_has_lt, eq.trans, id, eq.mpr, int.has_one, int.has_neg, int.has_lt, has_lt.lt, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, not_le_of_gt, if_neg, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_linear_ordered_semiring, zero_le_one, if_pos, eq.symm, eq.subst, int.units_eq_one_or, int.monoid, or.elim, units.has_inv, has_inv.inv, units.has_neg, has_neg.neg, units.has_one, has_one.one, int.decidable_le, units.has_coe, coe_base, coe_to_lift, coe, int.has_zero, has_zero.zero, int.has_le, has_le.le, ite, eq, integral_domain.zero_ne_one, integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, integral_domain.mul_comm, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.one, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, integral_domain.mk, integral_domain.to_domain, domain.to_ring, ring.to_monoid, int, units]), (int.normalization_domain._proof_3, [integral_domain.add_zero, integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_4, [integral_domain.add_left_neg, add_monoid.to_has_zero, has_zero.zero, integral_domain.neg, has_neg.mk, has_neg.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_5, [integral_domain.add_comm, integral_domain.add_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, int]), (int.normalization_domain._proof_6, [integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.normalization_domain._proof_7, [integral_domain.one_mul, integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_8, [integral_domain.mul_one, integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, int]), (int.normalization_domain._proof_9, [integral_domain.left_distrib, integral_domain.add, has_add.mk, has_add.add, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain, infer_instance, integral_domain.mul, has_mul.mk, has_mul.mul, eq, int]), (int.of_nat, [int, nat]), (int.of_nat.inj, [int.no_confusion, int.of_nat, int, eq, nat]), (int.of_nat.inj_arrow, [int.of_nat.inj, int.of_nat, int, eq, nat]), (int.of_nat.inj_eq, [congr_arg, int.of_nat.inj, iff.intro, propext, int.of_nat, int, eq, nat]), (int.of_nat_add_neg_succ_of_nat_of_ge, [trivial, eq_self_iff_true, propext, int.of_nat.inj_eq, int.sub_nat_nat._match_1.equations._eqn_1, nat.sub_eq_zero_of_le, eq.refl, int.sub_nat_nat.equations._eqn_1, nat.has_zero, has_zero.zero, int.sub_nat_nat._match_1, congr_arg, congr, eq.trans, true, int.sub_nat_nat, eq.mpr, id, nat.has_sub, has_sub.sub, int.neg_succ_of_nat, int.of_nat, int.has_add, has_add.add, int, eq, nat.succ, nat.has_le, ge, nat]), (int.of_nat_add_neg_succ_of_nat_of_lt, [trivial, eq_self_iff_true, propext, int.neg_succ_of_nat.inj_eq, int.sub_nat_nat._match_1.equations._eqn_2, nat.le_of_lt_succ, nat.succ_sub, eq.refl, int.sub_nat_nat.equations._eqn_1, int.sub_nat_nat._match_1, congr_arg, congr, eq.trans, true, int.sub_nat_nat, eq.mpr, id, nat.has_sub, has_sub.sub, int.neg_succ_of_nat, int.of_nat, int.has_add, has_add.add, int, eq, nat.succ, nat.has_lt, has_lt.lt, nat]), (int.of_nat_eq_coe, [rfl, int.has_coe, coe_base, coe_to_lift, coe, int.of_nat, int, eq, nat]), (int.of_nat_eq_of_nat_iff, [congr_arg, int.of_nat_inj, iff.intro, int.of_nat, int, eq, iff, nat]), (int.of_nat_inj, [id, int.no_confusion, int.of_nat, int, eq, nat]), (int.of_nat_sub, [nat.sub_eq_zero_of_le, eq.refl, eq.rec, int.neg_succ_of_nat, eq.mpr, id, int.sub_nat_nat, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, int.neg_of_nat, int.has_add, has_add.add, int.has_sub, nat.has_sub, has_sub.sub, int.of_nat, int, eq, nat.has_le, has_le.le, nat]), (int.one, [nat.has_one, nat, has_one.one, int.of_nat, int]), (int.rec, [int.neg_succ_of_nat, int.of_nat, nat, int]), (int.rel_add, [nat.add_monoid, add_zero, bit0, heq.refl, int.rel_sub_nat_nat, _private.559890893.sub_nat_nat_add_add, int.sub_nat_nat, int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, eq.symm, trivial, eq_self_iff_true, propext, add_comm, has_add, add_left_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, true, eq.refl, id, eq.mpr, id_rhs, int.rel_int_nat_nat.pos, eq.rec, int.of_nat, heq, eq, int.rel_int_nat_nat.dcases_on, prod.snd, prod.fst, nat.has_add, prod.mk, int.has_add, has_add.add, int.rel_int_nat_nat, nat, prod, int, relator.lift_fun]), (int.rel_eq, [eq_comm, int.neg_succ_of_nat_inj_iff, heq.refl, nat.add_monoid, add_zero, nat.no_confusion, int.no_confusion, iff.intro, nat.has_zero, has_zero.zero, int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, eq.symm, trivial, iff_self, has_add, add_left_comm, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, congr_arg, congr, eq.trans, true, iff.refl, add_left_cancel_iff, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, int.of_nat_eq_of_nat_iff, propext, eq.refl, id, eq.mpr, iff.trans, id_rhs, int.rel_int_nat_nat.pos, prod.mk, eq.rec, int.of_nat, heq, int.rel_int_nat_nat.dcases_on, prod.snd, prod.fst, nat.has_add, has_add.add, eq, iff, int.rel_int_nat_nat, nat, prod, int, relator.lift_fun]), (int.rel_int_nat_nat, [nat, prod, int]), (int.rel_int_nat_nat.dcases_on, [int.rel_int_nat_nat.rec, int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, int.rel_int_nat_nat.pos, nat.has_add, has_add.add, prod.mk, int.of_nat, int.rel_int_nat_nat, nat, prod, int]), (int.rel_int_nat_nat.neg, [nat.has_one, has_one.one, nat.has_add, has_add.add, prod.mk, int.neg_succ_of_nat, int.rel_int_nat_nat, nat]), (int.rel_int_nat_nat.pos, [nat.has_add, has_add.add, prod.mk, int.of_nat, int.rel_int_nat_nat, nat]), (int.rel_int_nat_nat.rec, [int.rel_int_nat_nat, nat.has_one, has_one.one, int.neg_succ_of_nat, nat.has_add, has_add.add, prod.mk, int.of_nat, nat, prod, int]), (int.rel_mul, [one_mul, heq.refl, nat.monoid, mul_one, has_mul, nat.succ, int.rel_neg_of_nat, int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, eq.symm, trivial, eq_self_iff_true, propext, add_comm, add_left_comm, mul_add, add_mul, distrib.to_has_add, nat.distrib, distrib.to_has_mul, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, true, eq.refl, id, eq.mpr, id_rhs, int.rel_int_nat_nat.pos, eq.rec, int.of_nat, heq, eq, int.rel_int_nat_nat.dcases_on, prod.snd, prod.fst, nat.has_mul, nat.has_add, has_add.add, prod.mk, int.has_mul, has_mul.mul, int.rel_int_nat_nat, nat, prod, int, relator.lift_fun]), (int.rel_neg, [heq.refl, eq.refl, nat.succ, int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, eq.symm, int.rel_neg_of_nat, int.neg_of_nat, id_rhs, int.rel_int_nat_nat.pos, nat.has_add, has_add.add, eq.rec, int.of_nat, heq, eq, int.rel_int_nat_nat.dcases_on, prod.fst, prod.snd, prod.mk, int.has_neg, has_neg.neg, int.rel_int_nat_nat, nat, prod, int, relator.lift_fun]), (int.rel_neg_of_nat, [int.rel_int_nat_nat.neg, nat.has_one, has_one.one, int.neg_succ_of_nat, int.rel_int_nat_nat.pos, nat.has_zero, has_zero.zero, int.of_nat, id_rhs, nat.cases_on, nat.has_add, has_add.add, prod.mk, int.neg_of_nat, int.rel_int_nat_nat, nat]), (int.rel_one, [nat.zero, int.rel_int_nat_nat.pos, nat.has_zero, has_zero.zero, nat.has_one, nat, prod.mk, int.has_one, int, has_one.one, int.rel_int_nat_nat]), (int.rel_sub_nat_nat, [int.rel_int_nat_nat.neg, int.rel_int_nat_nat.pos, int, int.sub_nat_nat_elim, prod.mk, int.sub_nat_nat, int.rel_int_nat_nat, nat]), (int.rel_zero, [nat.zero, int.rel_int_nat_nat.pos, nat.has_zero, nat, prod.mk, int.has_zero, int, has_zero.zero, int.rel_int_nat_nat]), (int.right_total_rel_int_nat_nat, [int.right_total_rel_int_nat_nat._main, int.rel_int_nat_nat, nat, prod, int, relator.right_total]), (int.right_total_rel_int_nat_nat._main, [int.rel_sub_nat_nat, int.sub_nat_nat, Exists.intro, prod.mk, id_rhs, Exists, prod.cases_on, int.rel_int_nat_nat, nat, prod, int, relator.right_total]), (int.ring, [int.comm_ring, comm_ring.to_ring, int, ring]), (int.semiring, [int.comm_ring, comm_ring.to_ring, ring.to_semiring, int, semiring]), (int.sizeof, [nat.has_sizeof, sizeof, nat.has_one, has_one.one, nat.has_add, has_add.add, int.rec, nat, int]), (int.sub_nat_nat, [nat.has_sub, has_sub.sub, int.sub_nat_nat._match_1, int, nat]), (int.sub_nat_nat._match_1, [int.neg_succ_of_nat, nat.has_sub, has_sub.sub, int.of_nat, id_rhs, nat.cases_on, int, nat]), (int.sub_nat_nat._match_1.equations._eqn_1, [id_delta, eq.refl, nat.has_sub, has_sub.sub, int.of_nat, nat.has_zero, has_zero.zero, int.sub_nat_nat._match_1, int, eq, nat]), (int.sub_nat_nat._match_1.equations._eqn_2, [id_delta, eq.refl, int.neg_succ_of_nat, nat.succ, int.sub_nat_nat._match_1, int, eq, nat]), (int.sub_nat_nat.equations._eqn_1, [eq.refl, nat.has_sub, has_sub.sub, int.sub_nat_nat._match_1, int.sub_nat_nat, int, eq, nat]), (int.sub_nat_nat_elim, [rfl, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.lt_of_sub_eq_succ, nat.le_of_lt, nat.sub_eq_iff_eq_add, propext, eq.mp, nat.succ, nat.add_sub_cancel_left, eq.symm, eq.refl, eq.rec, eq.mpr, nat.le_of_sub_eq_zero, nat.le.dest, Exists, Exists.dcases_on, nat.zero, nat.has_sub, has_sub.sub, eq, nat.cases_on, id, int.sub_nat_nat, int.neg_succ_of_nat, nat.has_one, has_one.one, int.of_nat, nat.has_add, has_add.add, int, nat]), (int.succ, [int.has_one, has_one.one, int.has_add, has_add.add, int]), (int.to_nat, [int.to_nat._main, nat, int]), (int.to_nat._main, [nat.has_zero, has_zero.zero, id_rhs, int.cases_on, nat, int]), (int.to_nat_eq_max, [int.neg_succ_lt_zero, int.le_of_lt, max_eq_right, int.neg_succ_of_nat, int.coe_zero_le, max_eq_left, eq.symm, id_rhs, int.cases_on, int.has_zero, has_zero.zero, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, max, int.to_nat, int.has_coe, coe_base, coe_to_lift, nat, coe, eq, int]), (int.to_nat_of_nonneg, [max_eq_left, int.to_nat_eq_max, eq.refl, eq.rec, id, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, max, eq.mpr, int.to_nat, int.has_coe, coe_base, coe_to_lift, nat, coe, eq, int.has_zero, has_zero.zero, int.has_le, has_le.le, int]), (int.units_eq_one_or, [int.nat_abs_eq, int.add_monoid, zero_add, int.coe_nat_zero, has_add, int.coe_nat_succ, int.units_nat_abs, has_lift_t, nat.has_one, nat.has_zero, int.has_zero, has_zero.zero, int.has_add, has_add.add, int.nat_abs, int.has_coe, nat, eq.mp, has_neg, units.coe_neg, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_monoid, units.coe_one, eq.refl, units.ext_iff, propext, eq.trans, congr_arg, congr, id, int.has_neg, int.has_one, units.has_coe, coe_base, coe_to_lift, coe, eq.mpr, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, units.has_neg, has_neg.neg, units.has_one, has_one.one, eq, or, int.monoid, int, units]), (int.units_nat_abs, [nat.units_eq_one, units.ext_iff, units.has_one, units.inv_mul, units.mul_inv, int.nat_abs_mul, eq.symm, eq.refl, nat.has_mul, eq.rec, id, int.has_mul, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mpr, units.has_inv, has_inv.inv, units.mk, nat.monoid, iff.mp, nat.has_one, has_one.one, units.has_coe, coe_base, coe_to_lift, coe, int.nat_abs, nat, eq, int.monoid, int, units]), (int.zero, [nat.has_zero, nat, has_zero.zero, int.of_nat, int]), (int.zero_lt_one, [trivial, int.has_one, has_one.one, int.has_zero, has_zero.zero, int.has_lt, int, has_lt.lt]), (int.zero_mod, [nat.zero_mod, int.of_nat, int.nat_abs, nat.has_zero, nat.has_mod, nat, congr_arg, int.has_zero, has_zero.zero, int.has_mod, has_mod.mod, eq, int]), (int.zero_ne_one_class, [int.zero_ne_one_class._proof_1, int.has_one, has_one.one, int.has_zero, has_zero.zero, zero_ne_one_class.mk, int, zero_ne_one_class]), (int.zero_ne_one_class._proof_1, [trivial, not_false_iff, zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_one, nat.zero_ne_one_class, zero_ne_one_class.to_has_zero, propext, nat.add_monoid, add_zero, congr, congr_arg, false, eq.trans, id, true, eq.mpr, int.rel_one, int.rel_zero, int.rel_eq, relator.rel_not, nat.has_one, prod.snd, nat.has_zero, prod.mk, prod.fst, nat.has_add, has_add.add, nat, eq, not, iff.mpr, int.has_one, has_one.mk, has_one.one, int.has_zero, has_zero.mk, has_zero.zero, int, ne]), (integral_domain, []), (integral_domain.add, [integral_domain]), (integral_domain.add_assoc, [integral_domain.add, has_add.mk, has_add.add, eq, integral_domain]), (integral_domain.add_comm, [integral_domain.add_assoc, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain]), (integral_domain.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, integral_domain.neg, has_neg.mk, has_neg.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, integral_domain.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, integral_domain]), (integral_domain.add_zero, [integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain]), (integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, [or, integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.mul, has_mul.mk, has_mul.mul, eq, integral_domain]), (integral_domain.left_distrib, [integral_domain.add, has_add.mk, has_add.add, integral_domain.mul, has_mul.mk, has_mul.mul, eq, integral_domain]), (integral_domain.mk, [integral_domain, ne, or, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (integral_domain.mul, [integral_domain]), (integral_domain.mul_assoc, [integral_domain.mul, has_mul.mk, has_mul.mul, eq, integral_domain]), (integral_domain.mul_comm, [integral_domain.mul_assoc, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain]), (integral_domain.mul_one, [integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain]), (integral_domain.neg, [integral_domain]), (integral_domain.one, [integral_domain]), (integral_domain.one_mul, [integral_domain.one, has_one.mk, has_one.one, integral_domain.mul_assoc, integral_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain]), (integral_domain.right_distrib, [integral_domain.add, has_add.mk, has_add.add, integral_domain.mul, has_mul.mk, has_mul.mul, eq, integral_domain]), (integral_domain.to_comm_ring, [integral_domain.mul_comm, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.one, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, integral_domain.add, comm_ring.mk, comm_ring, integral_domain]), (integral_domain.to_domain, [integral_domain.zero_ne_one, integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.one, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.zero, integral_domain.add_assoc, integral_domain.add, domain.mk, domain, integral_domain]), (integral_domain.to_no_zero_divisors, [integral_domain.eq_zero_or_eq_zero_of_mul_eq_zero, integral_domain.zero, integral_domain.mul, no_zero_divisors.mk, no_zero_divisors, integral_domain]), (integral_domain.to_nonzero_comm_ring, [integral_domain.mul_comm, integral_domain.right_distrib, integral_domain.left_distrib, integral_domain.mul_one, integral_domain.one_mul, integral_domain.mul_assoc, integral_domain.mul, integral_domain.add_comm, integral_domain.add_left_neg, integral_domain.neg, integral_domain.add_zero, integral_domain.zero_add, integral_domain.add_assoc, integral_domain.add, integral_domain.zero_ne_one, integral_domain.one, integral_domain.zero, nonzero_comm_ring.mk, nonzero_comm_ring, integral_domain]), (integral_domain.to_zero_ne_one_class, [integral_domain.zero_ne_one, integral_domain.one, integral_domain.zero, zero_ne_one_class.mk, zero_ne_one_class, integral_domain]), (integral_domain.zero, [integral_domain]), (integral_domain.zero_add, [integral_domain.zero, has_zero.mk, has_zero.zero, integral_domain.add_assoc, integral_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain]), (integral_domain.zero_ne_one, [integral_domain.one, has_one.mk, has_one.one, integral_domain.zero, has_zero.mk, has_zero.zero, ne, integral_domain]), (inv_comm_of_comm, [congr_arg, mul_inv_self, mul_one, mul_assoc, eq.symm, inv_mul_self, one_mul, eq.refl, eq.rec, monoid.to_has_one, has_one.one, eq.mp, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (inv_eq_iff_inv_eq, [iff.refl, eq_inv_iff_eq_inv, eq_comm, propext, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, eq, iff, group]), (inv_eq_iff_mul_eq_one, [mul_eq_one_iff_inv_eq, iff.symm, monoid.to_has_one, has_one.one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, group.to_has_inv, has_inv.inv, eq, iff, group]), (inv_eq_of_mul_eq_one, [one_mul, mul_left_inv, mul_assoc, mul_one, eq.symm, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, monoid.to_has_one, has_one.one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (inv_eq_one, [iff.refl, one_inv, inv_inj', propext, eq.symm, eq.refl, eq.rec, id, eq.mpr, group.to_monoid, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, eq, iff, group]), (inv_image, []), (inv_image.accessible, [rfl, _private.2017655501.acc_aux, inv_image, acc]), (inv_image.wf, [well_founded.apply, inv_image.accessible, well_founded.intro, inv_image, well_founded]), (inv_inj', [trivial, eq_self_iff_true, propext, has_inv, congr_arg, congr, eq.trans, true, inv_inv, eq.symm, eq.refl, eq.rec, id, eq.mpr, iff.intro, group.to_has_inv, has_inv.inv, eq, iff, group]), (inv_inv, [mul_left_inv, inv_eq_of_mul_eq_one, group.to_has_inv, has_inv.inv, eq, group]), (inv_mul_cancel, [division_ring.inv_mul_cancel, zero_ne_one_class.to_has_one, has_one.one, division_ring.to_has_inv, has_inv.inv, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, division_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (inv_mul_cancel_left, [one_mul, mul_left_inv, monoid.to_has_one, has_one.one, mul_assoc, eq.symm, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (inv_mul_self, [mul_left_inv, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (inv_pow, [pprod, punit, nat.rec, nat.add, pprod.fst, mul_inv_rev, pow_succ, pow_succ', eq.refl, eq.rec, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, one_inv, has_inv, pow_zero, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat, group]), (is_associative, []), (is_associative.assoc, [eq, is_associative]), (is_associative.mk, [is_associative, eq]), (is_commutative, []), (is_commutative.comm, [eq, is_commutative]), (is_commutative.mk, [is_commutative, eq]), (is_cyclic, [group]), (is_cyclic.exists_generator, [gpowers, set.has_mem, set, has_mem.mem, Exists, is_cyclic, group]), (is_cyclic.mk, [is_cyclic, gpowers, set.has_mem, set, has_mem.mem, Exists, group]), (is_cyclic_of_order_of_eq_card, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, order_eq_card_gpowers, eq.symm, equiv.set.univ, fintype.card_congr, eq.refl, eq.rec, id, set.has_coe_to_sort, coe_sort, nat.has_le, has_le.le, eq.mpr, set.subset_univ, set.univ_decidable, decidable_gpowers, set_fintype, set.eq_of_subset_of_card_le, set.eq_univ_iff_forall, set.univ, iff.mp, gpowers, set.has_mem, set, has_mem.mem, Exists.intro, is_cyclic.mk, is_cyclic, fintype.card, order_of, nat, eq, decidable_eq, fintype, group]), (is_idempotent, []), (is_idempotent.idempotent, [eq, is_idempotent]), (is_idempotent.mk, [is_idempotent, eq]), (is_ring_hom, [ring]), (is_ring_hom.id, [ring.to_distrib, distrib.to_has_add, has_add.add, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ring.to_monoid, monoid.to_has_one, has_one.one, eq.refl, is_ring_hom.mk, id, is_ring_hom, ring]), (is_ring_hom.is_semiring_hom, [is_ring_hom.map_mul, is_ring_hom.map_add, is_ring_hom.map_one, is_ring_hom.map_zero, is_semiring_hom.mk, ring.to_semiring, is_semiring_hom, is_ring_hom, ring]), (is_ring_hom.map_add, [ring.to_distrib, distrib.to_has_add, has_add.add, eq, is_ring_hom, ring]), (is_ring_hom.map_mul, [ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, is_ring_hom, ring]), (is_ring_hom.map_neg, [neg_inj', zero_add, is_ring_hom.map_zero, add_left_neg, add_monoid.to_has_zero, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, trivial, eq_self_iff_true, propext, neg_add_cancel_left, sub_eq_add_neg, add_comm, has_sub, add_group.to_add_monoid, add_monoid.to_add_semigroup, ring.to_semiring, semiring.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, true, is_ring_hom.map_add, eq.refl, eq.rec, id, eq.mpr, ring.to_distrib, distrib.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, eq.trans, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, eq, is_ring_hom, ring]), (is_ring_hom.map_one, [ring.to_monoid, monoid.to_has_one, has_one.one, eq, is_ring_hom, ring]), (is_ring_hom.map_sub, [trivial, eq_self_iff_true, add_right_inj, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, is_ring_hom.map_neg, eq.refl, has_add, is_ring_hom.map_add, sub_eq_add_neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, add_group.to_has_neg, has_neg.neg, ring.to_distrib, distrib.to_has_add, has_add.add, eq.trans, id, true, eq.mpr, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq, is_ring_hom, ring]), (is_ring_hom.map_zero, [add_right_neg, add_zero, has_sub, add_monoid.to_has_zero, trivial, eq_self_iff_true, propext, add_neg_cancel_right, sub_eq_add_neg, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, true, is_ring_hom.map_add, eq.refl, eq.rec, id, eq.mpr, ring.to_distrib, distrib.to_has_add, has_add.add, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq.trans, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq, is_ring_hom, ring]), (is_ring_hom.mk, [is_ring_hom, ring.to_distrib, distrib.to_has_add, has_add.add, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ring.to_monoid, monoid.to_has_one, has_one.one, eq, ring]), (is_ring_hom.of_semiring, [is_semiring_hom.map_add, is_semiring_hom.map_mul, is_semiring_hom.map_one, is_ring_hom.mk, is_ring_hom, ring.to_semiring, is_semiring_hom, ring]), (is_semiring_hom, [semiring]), (is_semiring_hom.id, [mul_zero_class.to_has_mul, has_mul.mul, semiring.to_distrib, distrib.to_has_add, has_add.add, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq.refl, is_semiring_hom.mk, id, is_semiring_hom, semiring]), (is_semiring_hom.map_add, [semiring.to_distrib, distrib.to_has_add, has_add.add, eq, is_semiring_hom, semiring]), (is_semiring_hom.map_mul, [semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, is_semiring_hom, semiring]), (is_semiring_hom.map_one, [semiring.to_monoid, monoid.to_has_one, has_one.one, eq, is_semiring_hom, semiring]), (is_semiring_hom.map_pow, [has_mul, is_semiring_hom.map_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, nat.succ, trivial, eq_self_iff_true, propext, is_semiring_hom.map_one, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, has_zero.zero, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, semiring.to_monoid, monoid.has_pow, has_pow.pow, eq, nat, is_semiring_hom, semiring]), (is_semiring_hom.map_zero, [semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq, is_semiring_hom, semiring]), (is_semiring_hom.mk, [is_semiring_hom, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_distrib, distrib.to_has_add, has_add.add, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq, semiring]), (is_subgroup, [set, group]), (is_subgroup.group_equiv_quotient_times_subgroup, [equiv.sigma_equiv_prod, is_subgroup.left_coset_equiv_subgroup, equiv.refl, is_subgroup.group_equiv_quotient_times_subgroup._proof_2, quotient.mk', quotient, id, is_subgroup.group_equiv_quotient_times_subgroup._proof_1, set_of, eq.mpr, equiv.sigma_congr_right, quotient_group.mk, equiv.equiv_fib, quotient_group.has_coe, coe_base, coe_to_lift, coe, eq, subtype, quotient_group.left_rel, quotient.out', group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, sigma, equiv.trans, set.has_coe_to_sort, coe_sort, quotient_group.quotient, prod, equiv, is_subgroup, set, group]), (is_subgroup.group_equiv_quotient_times_subgroup._proof_1, [quotient_group.eq_class_eq_left_coset, eq.symm, eq.refl, eq.rec, id, set_of, quotient_group.left_rel, quotient.out', group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_coe_to_sort, coe_sort, quotient_group.has_coe, coe_base, coe_to_lift, coe, subtype, equiv, eq, quotient_group.quotient, is_subgroup, set, group]), (is_subgroup.group_equiv_quotient_times_subgroup._proof_2, [quotient.out_eq', funext, eq.refl, congr_arg, congr, id, quotient.out', quotient.mk', quotient_group.left_rel, quotient, subtype, equiv, eq, quotient_group.quotient, is_subgroup, set, group]), (is_subgroup.inv_mem, [group.to_has_inv, has_inv.inv, set.has_mem, has_mem.mem, is_subgroup, set, group]), (is_subgroup.left_coset_equiv_subgroup, [is_subgroup.left_coset_equiv_subgroup._proof_4, is_subgroup.left_coset_equiv_subgroup._proof_3, is_subgroup.left_coset_equiv_subgroup._proof_2, is_subgroup.left_coset_equiv_subgroup._proof_1, subtype.val, group.to_has_inv, has_inv.inv, has_mul.mul, set.has_mem, has_mem.mem, subtype.mk, equiv.mk, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_coe_to_sort, coe_sort, equiv, set, group]), (is_subgroup.left_coset_equiv_subgroup._match_1, [trivial, eq_self_iff_true, propext, eq.refl, mul_inv_cancel_left, congr_arg, congr, eq.trans, id, true, eq.mpr, subtype.eq, subtype, id_rhs, subtype.cases_on, mem_left_coset_iff, iff.mp, group.to_has_inv, has_inv.inv, rfl, subtype.property, and.intro, and, Exists.intro, subtype.val, has_mul.mul, set.has_mem, has_mem.mem, subtype.mk, eq, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.left_coset_equiv_subgroup._match_2, [trivial, eq_self_iff_true, propext, eq.refl, inv_mul_cancel_left, congr_arg, congr, eq.trans, id, true, eq.mpr, subtype.eq, subtype, id_rhs, subtype.cases_on, rfl, and.intro, and, Exists.intro, subtype.property, mem_left_coset_iff, iff.mp, subtype.val, group.to_has_inv, has_inv.inv, has_mul.mul, set.has_mem, has_mem.mem, subtype.mk, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, eq, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.left_coset_equiv_subgroup._proof_1, [subtype.property, mem_left_coset_iff, iff.mp, subtype.val, group.to_has_inv, has_inv.inv, has_mul.mul, set.has_mem, has_mem.mem, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.left_coset_equiv_subgroup._proof_2, [rfl, subtype.property, and.intro, Exists.intro, subtype.val, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, set.has_mem, has_mem.mem, and, Exists, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.left_coset_equiv_subgroup._proof_3, [is_subgroup.left_coset_equiv_subgroup._match_1, mem_left_coset_iff, iff.mp, group.to_has_inv, has_inv.inv, rfl, subtype.property, and.intro, and, Exists.intro, subtype.val, has_mul.mul, set.has_mem, has_mem.mem, subtype.mk, eq, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.left_coset_equiv_subgroup._proof_4, [is_subgroup.left_coset_equiv_subgroup._match_2, rfl, and.intro, and, Exists.intro, subtype.property, mem_left_coset_iff, iff.mp, subtype.val, group.to_has_inv, has_inv.inv, has_mul.mul, set.has_mem, has_mem.mem, subtype.mk, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, eq, set.has_coe_to_sort, coe_sort, set, group]), (is_subgroup.mk, [is_subgroup, group.to_has_inv, has_inv.inv, set.has_mem, has_mem.mem, group.to_monoid, is_submonoid, set, group]), (is_subgroup.to_is_submonoid, [group.to_monoid, is_submonoid, is_subgroup, set, group]), (is_submonoid, [set, monoid]), (is_submonoid.mk, [is_submonoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, monoid.to_has_one, has_one.one, set.has_mem, has_mem.mem, set, monoid]), (is_submonoid.mul_mem, [monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, set.has_mem, has_mem.mem, is_submonoid, set, monoid]), (is_submonoid.one_mem, [monoid.to_has_one, has_one.one, set.has_mem, has_mem.mem, is_submonoid, set, monoid]), (ite, [not, decidable.rec_on, decidable]), (lattice.bot_le, [lattice.order_bot.bot_le, lattice.order_bot.to_has_bot, lattice.has_bot.bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.order_bot]), (lattice.bot_sup_eq, [lattice.bot_le, lattice.sup_of_le_right, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup_bot]), (lattice.bot_unique, [lattice.bot_le, le_antisymm, eq, lattice.order_bot.to_has_bot, lattice.has_bot.bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.order_bot]), (lattice.distrib_lattice, []), (lattice.distrib_lattice.le, [lattice.distrib_lattice]), (lattice.distrib_lattice.le_antisymm, [eq, lattice.distrib_lattice.lt_iff_le_not_le, lattice.distrib_lattice.le_trans, lattice.distrib_lattice.le_refl, lattice.distrib_lattice.lt, lattice.distrib_lattice.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice.le_refl, [lattice.distrib_lattice.le, has_le.mk, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice.le_sup_left, [lattice.distrib_lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.distrib_lattice.le_antisymm, lattice.distrib_lattice.lt_iff_le_not_le, lattice.distrib_lattice.le_trans, lattice.distrib_lattice.le_refl, lattice.distrib_lattice.lt, lattice.distrib_lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice.le_sup_right, [lattice.distrib_lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.distrib_lattice.le_antisymm, lattice.distrib_lattice.lt_iff_le_not_le, lattice.distrib_lattice.le_trans, lattice.distrib_lattice.le_refl, lattice.distrib_lattice.lt, lattice.distrib_lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice.le_trans, [lattice.distrib_lattice.le, has_le.mk, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice.lt, [lattice.distrib_lattice]), (lattice.distrib_lattice.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.distrib_lattice.le, has_le.mk, has_le.le, and, lattice.distrib_lattice.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.distrib_lattice]), (lattice.distrib_lattice.mk, [lattice.distrib_lattice, lattice.lattice.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.semilattice_inf.to_has_inf, lattice.lattice.mk, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.distrib_lattice.sup, [lattice.distrib_lattice]), (lattice.distrib_lattice.sup_le, [lattice.distrib_lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.distrib_lattice.le_antisymm, lattice.distrib_lattice.lt_iff_le_not_le, lattice.distrib_lattice.le_trans, lattice.distrib_lattice.le_refl, lattice.distrib_lattice.lt, lattice.distrib_lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.distrib_lattice]), (lattice.distrib_lattice_of_decidable_linear_order, [lattice.distrib_lattice_of_decidable_linear_order._proof_11, lattice.distrib_lattice_of_decidable_linear_order._proof_10, lattice.distrib_lattice_of_decidable_linear_order._proof_9, lattice.distrib_lattice_of_decidable_linear_order._proof_8, lattice.lattice.inf, lattice.distrib_lattice_of_decidable_linear_order._proof_7, lattice.distrib_lattice_of_decidable_linear_order._proof_6, lattice.distrib_lattice_of_decidable_linear_order._proof_5, lattice.distrib_lattice_of_decidable_linear_order._proof_4, lattice.distrib_lattice_of_decidable_linear_order._proof_3, lattice.distrib_lattice_of_decidable_linear_order._proof_2, lattice.distrib_lattice_of_decidable_linear_order._proof_1, lattice.lattice.lt, lattice.lattice.le, lattice.lattice_of_decidable_linear_order, lattice.lattice.sup, lattice.distrib_lattice.mk, lattice.distrib_lattice, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._match_1, [lattice.inf_le_right_of_le, le_refl, lattice.le_inf, lattice.sup_le_sup_left, lattice.inf_le_left_of_le, id_rhs, or.dcases_on, lattice.lattice.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.lattice.le_inf, lattice.lattice.inf_le_right, lattice.lattice.inf_le_left, lattice.lattice.inf, lattice.lattice.sup_le, lattice.lattice.le_sup_right, lattice.lattice.le_sup_left, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, lattice.lattice_of_decidable_linear_order, lattice.lattice.sup, lattice.lattice.mk, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_1, [lattice.lattice.le_refl, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, has_le.mk, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_10, [lattice.lattice.le_inf, lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_11, [decidable_linear_order.to_linear_order, le_total, lattice.distrib_lattice_of_decidable_linear_order._match_1, lattice.lattice.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.lattice.le_inf, lattice.lattice.inf_le_right, lattice.lattice.inf_le_left, lattice.lattice.inf, lattice.lattice.sup_le, lattice.lattice.le_sup_right, lattice.lattice.le_sup_left, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, lattice.lattice_of_decidable_linear_order, lattice.lattice.sup, lattice.lattice.mk, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_2, [lattice.lattice.le_trans, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, has_le.mk, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_3, [lattice.lattice.lt_iff_le_not_le, name.anonymous, name.mk_string, not, lattice.lattice.le, has_le.mk, has_le.le, and, lattice.lattice_of_decidable_linear_order, lattice.lattice.lt, has_lt.mk, has_lt.lt, iff, auto_param, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_4, [lattice.lattice.le_antisymm, eq, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, preorder.mk, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_5, [lattice.lattice.le_sup_left, lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_6, [lattice.lattice.le_sup_right, lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_7, [lattice.lattice.sup_le, lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_8, [lattice.lattice.inf_le_left, lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.distrib_lattice_of_decidable_linear_order._proof_9, [lattice.lattice.inf_le_right, lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice_of_decidable_linear_order, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.has_bot, []), (lattice.has_bot.bot, [lattice.has_bot]), (lattice.has_bot.mk, [lattice.has_bot]), (lattice.has_inf, []), (lattice.has_inf.inf, [lattice.has_inf]), (lattice.has_inf.mk, [lattice.has_inf]), (lattice.has_sup, []), (lattice.has_sup.mk, [lattice.has_sup]), (lattice.has_sup.sup, [lattice.has_sup]), (lattice.inf_le_left, [lattice.semilattice_inf.inf_le_left, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.inf_le_left_of_le, [lattice.inf_le_left, le_trans, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.inf_le_right, [lattice.semilattice_inf.inf_le_right, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.inf_le_right_of_le, [lattice.inf_le_right, le_trans, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.lattice, []), (lattice.lattice.cases_on, [lattice.lattice.rec, lattice.lattice.mk, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.lattice]), (lattice.lattice.ext, [lattice.semilattice_inf.ext, lattice.semilattice_sup.ext, eq.refl, eq.rec, eq.drec, lattice.lattice.le_inf, lattice.lattice.inf_le_right, lattice.lattice.inf_le_left, lattice.lattice.inf, lattice.semilattice_inf.mk.inj_arrow, lattice.lattice.sup_le, lattice.lattice.le_sup_right, lattice.lattice.le_sup_left, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, lattice.lattice.sup, lattice.semilattice_sup.mk.inj_arrow, lattice.lattice.mk, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, auto_param, has_le.mk, lattice.semilattice_inf, lattice.lattice.to_semilattice_sup, lattice.semilattice_sup, lattice.lattice.cases_on, eq, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.lattice]), (lattice.lattice.inf, [lattice.lattice]), (lattice.lattice.inf_le_left, [lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.inf_le_right, [lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.le, [lattice.lattice]), (lattice.lattice.le_antisymm, [eq, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.le_inf, [lattice.lattice.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.le_refl, [lattice.lattice.le, has_le.mk, has_le.le, lattice.lattice]), (lattice.lattice.le_sup_left, [lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.le_sup_right, [lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.le_trans, [lattice.lattice.le, has_le.mk, has_le.le, lattice.lattice]), (lattice.lattice.lt, [lattice.lattice]), (lattice.lattice.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.lattice.le, has_le.mk, has_le.le, and, lattice.lattice.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.lattice]), (lattice.lattice.mk, [lattice.lattice, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.lattice.rec, [lattice.lattice.mk, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.lattice]), (lattice.lattice.sup, [lattice.lattice]), (lattice.lattice.sup_le, [lattice.lattice.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.lattice]), (lattice.lattice.to_semilattice_inf, [lattice.lattice.le_inf, lattice.lattice.inf_le_right, lattice.lattice.inf_le_left, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, lattice.lattice.inf, lattice.semilattice_inf.mk, lattice.semilattice_inf, lattice.lattice]), (lattice.lattice.to_semilattice_sup, [lattice.lattice.sup_le, lattice.lattice.le_sup_right, lattice.lattice.le_sup_left, lattice.lattice.le_antisymm, lattice.lattice.lt_iff_le_not_le, lattice.lattice.le_trans, lattice.lattice.le_refl, lattice.lattice.lt, lattice.lattice.le, lattice.lattice.sup, lattice.semilattice_sup.mk, lattice.semilattice_sup, lattice.lattice]), (lattice.lattice_of_decidable_linear_order, [lattice.lattice_of_decidable_linear_order._proof_2, min_le_right, min_le_left, min, lattice.lattice_of_decidable_linear_order._proof_1, le_max_right, le_max_left, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, max, lattice.lattice.mk, lattice.lattice, decidable_linear_order]), (lattice.lattice_of_decidable_linear_order._proof_1, [max_le, max, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.lattice_of_decidable_linear_order._proof_2, [le_min, min, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (lattice.le_bot_iff, [le_refl, eq.symm, eq.subst, lattice.bot_unique, iff.intro, eq, lattice.order_bot.to_has_bot, lattice.has_bot.bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.order_bot]), (lattice.le_inf, [lattice.semilattice_inf.le_inf, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.le_inf_iff, [lattice.le_inf, id_rhs, and.dcases_on, lattice.inf_le_right, lattice.inf_le_left, le_trans, and.intro, iff.intro, and, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_inf]), (lattice.le_sup_left', [lattice.semilattice_sup.le_sup_left, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.le_sup_left, [lattice.semilattice_sup.le_sup_left, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.le_sup_right', [lattice.semilattice_sup.le_sup_right, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.le_sup_right, [lattice.semilattice_sup.le_sup_right, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.nat.distrib_lattice, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, lattice.distrib_lattice_of_decidable_linear_order, nat, lattice.distrib_lattice]), (lattice.nat.semilattice_sup_bot, [lattice.distrib_lattice.sup_le, lattice.distrib_lattice.le_sup_right, lattice.distrib_lattice.le_sup_left, lattice.distrib_lattice.sup, nat.zero_le, lattice.distrib_lattice.le_antisymm, lattice.distrib_lattice.lt_iff_le_not_le, lattice.distrib_lattice.le_trans, lattice.distrib_lattice.le_refl, lattice.distrib_lattice.lt, lattice.nat.distrib_lattice, lattice.distrib_lattice.le, nat.has_zero, has_zero.zero, lattice.semilattice_sup_bot.mk, nat, lattice.semilattice_sup_bot]), (lattice.order_bot, []), (lattice.order_bot.bot, [lattice.order_bot]), (lattice.order_bot.bot_le, [lattice.order_bot.bot, lattice.has_bot.mk, lattice.has_bot.bot, lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.order_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.order_bot]), (lattice.order_bot.le, [lattice.order_bot]), (lattice.order_bot.le_antisymm, [eq, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.order_bot.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.order_bot]), (lattice.order_bot.le_refl, [lattice.order_bot.le, has_le.mk, has_le.le, lattice.order_bot]), (lattice.order_bot.le_trans, [lattice.order_bot.le, has_le.mk, has_le.le, lattice.order_bot]), (lattice.order_bot.lt, [lattice.order_bot]), (lattice.order_bot.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.order_bot.le, has_le.mk, has_le.le, and, lattice.order_bot.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.order_bot]), (lattice.order_bot.mk, [lattice.order_bot, lattice.has_bot.mk, lattice.has_bot.bot, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.order_bot.to_has_bot, [lattice.order_bot.bot, lattice.has_bot.mk, lattice.has_bot, lattice.order_bot]), (lattice.order_bot.to_partial_order, [lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.order_bot.le, partial_order.mk, partial_order, lattice.order_bot]), (lattice.semilattice_inf, []), (lattice.semilattice_inf.cases_on, [lattice.semilattice_inf.rec, lattice.semilattice_inf.mk, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.ext, [lattice.semilattice_inf.ext_inf, funext, partial_order.ext, eq.refl, eq.rec, eq.drec, lattice.semilattice_inf.le_antisymm, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, partial_order.mk.inj_arrow, lattice.semilattice_inf.mk, lattice.has_inf.mk, partial_order.mk, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, auto_param, has_le.mk, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, partial_order, lattice.semilattice_inf.cases_on, eq, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_inf]), (lattice.semilattice_inf.ext_inf, [iff.refl, eq.symm, eq.rec, lattice.le_inf_iff, propext, eq.refl, congr_arg, congr, id, and, eq.mpr, eq_of_forall_le_iff, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, eq, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_inf]), (lattice.semilattice_inf.inf, [lattice.semilattice_inf]), (lattice.semilattice_inf.inf_le_left, [lattice.semilattice_inf.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf.le_antisymm, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.inf_le_right, [lattice.semilattice_inf.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf.le_antisymm, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.le, [lattice.semilattice_inf]), (lattice.semilattice_inf.le_antisymm, [eq, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.le_inf, [lattice.semilattice_inf.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf.le_antisymm, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.le_refl, [lattice.semilattice_inf.le, has_le.mk, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.le_trans, [lattice.semilattice_inf.le, has_le.mk, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.lt, [lattice.semilattice_inf]), (lattice.semilattice_inf.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.semilattice_inf.le, has_le.mk, has_le.le, and, lattice.semilattice_inf.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.semilattice_inf]), (lattice.semilattice_inf.mk, [lattice.semilattice_inf, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_inf.mk.inj, [and.intro, lattice.semilattice_inf.no_confusion, lattice.semilattice_inf.mk, lattice.semilattice_inf, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_inf.mk.inj_arrow, [and.elim_right, lattice.semilattice_inf.mk.inj, and.elim_left, lattice.semilattice_inf.mk, lattice.semilattice_inf, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_inf.no_confusion, [eq.refl, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_inf.cases_on, eq.rec, lattice.semilattice_inf.no_confusion_type, eq, lattice.semilattice_inf]), (lattice.semilattice_inf.no_confusion_type, [lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_inf.cases_on, lattice.semilattice_inf]), (lattice.semilattice_inf.rec, [lattice.semilattice_inf.mk, lattice.has_inf.mk, lattice.has_inf.inf, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_inf]), (lattice.semilattice_inf.to_has_inf, [lattice.semilattice_inf.inf, lattice.has_inf.mk, lattice.has_inf, lattice.semilattice_inf]), (lattice.semilattice_inf.to_partial_order, [lattice.semilattice_inf.le_antisymm, lattice.semilattice_inf.lt_iff_le_not_le, lattice.semilattice_inf.le_trans, lattice.semilattice_inf.le_refl, lattice.semilattice_inf.lt, lattice.semilattice_inf.le, partial_order.mk, partial_order, lattice.semilattice_inf]), (lattice.semilattice_inf_bot, []), (lattice.semilattice_inf_bot.inf, [lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.inf_le_left, [lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.inf_le_right, [lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.le, [lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.le_antisymm, [eq, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.semilattice_inf_bot.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.le_inf, [lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.le_refl, [lattice.semilattice_inf_bot.le, has_le.mk, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.le_trans, [lattice.semilattice_inf_bot.le, has_le.mk, has_le.le, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.lt, [lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.semilattice_inf_bot.le, has_le.mk, has_le.le, and, lattice.semilattice_inf_bot.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.semilattice_inf_bot]), (lattice.semilattice_inf_bot.mk, [lattice.semilattice_inf_bot, lattice.has_inf.mk, lattice.has_inf.inf, lattice.has_bot.mk, lattice.has_bot.bot, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_sup, []), (lattice.semilattice_sup.cases_on, [lattice.semilattice_sup.rec, lattice.semilattice_sup.mk, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.ext, [lattice.semilattice_sup.ext_sup, funext, partial_order.ext, eq.refl, eq.rec, eq.drec, lattice.semilattice_sup.le_antisymm, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, partial_order.mk.inj_arrow, lattice.semilattice_sup.mk, lattice.has_sup.mk, partial_order.mk, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, auto_param, has_le.mk, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, partial_order, lattice.semilattice_sup.cases_on, eq, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_sup]), (lattice.semilattice_sup.ext_sup, [iff.refl, eq.symm, eq.rec, lattice.sup_le_iff, propext, eq.refl, congr_arg, congr, id, and, eq.mpr, eq_of_forall_ge_iff, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_sup]), (lattice.semilattice_sup.le, [lattice.semilattice_sup]), (lattice.semilattice_sup.le_antisymm, [eq, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.le_refl, [lattice.semilattice_sup.le, has_le.mk, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.le_sup_left, [lattice.semilattice_sup.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup.le_antisymm, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.le_sup_right, [lattice.semilattice_sup.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup.le_antisymm, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.le_trans, [lattice.semilattice_sup.le, has_le.mk, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.lt, [lattice.semilattice_sup]), (lattice.semilattice_sup.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.semilattice_sup.le, has_le.mk, has_le.le, and, lattice.semilattice_sup.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.semilattice_sup]), (lattice.semilattice_sup.mk, [lattice.semilattice_sup, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_sup.mk.inj, [and.intro, lattice.semilattice_sup.no_confusion, lattice.semilattice_sup.mk, lattice.semilattice_sup, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_sup.mk.inj_arrow, [and.elim_right, lattice.semilattice_sup.mk.inj, and.elim_left, lattice.semilattice_sup.mk, lattice.semilattice_sup, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_sup.no_confusion, [eq.refl, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_sup.cases_on, eq.rec, lattice.semilattice_sup.no_confusion_type, eq, lattice.semilattice_sup]), (lattice.semilattice_sup.no_confusion_type, [lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_sup.cases_on, lattice.semilattice_sup]), (lattice.semilattice_sup.rec, [lattice.semilattice_sup.mk, lattice.has_sup.mk, lattice.has_sup.sup, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.sup, [lattice.semilattice_sup]), (lattice.semilattice_sup.sup_le, [lattice.semilattice_sup.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup.le_antisymm, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.semilattice_sup.to_has_sup, [lattice.semilattice_sup.sup, lattice.has_sup.mk, lattice.has_sup, lattice.semilattice_sup]), (lattice.semilattice_sup.to_partial_order, [lattice.semilattice_sup.le_antisymm, lattice.semilattice_sup.lt_iff_le_not_le, lattice.semilattice_sup.le_trans, lattice.semilattice_sup.le_refl, lattice.semilattice_sup.lt, lattice.semilattice_sup.le, partial_order.mk, partial_order, lattice.semilattice_sup]), (lattice.semilattice_sup_bot, []), (lattice.semilattice_sup_bot.bot, [lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.bot_le, [lattice.semilattice_sup_bot.bot, lattice.has_bot.mk, lattice.has_bot.bot, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le, [lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le_antisymm, [eq, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, preorder.mk, preorder.to_has_le, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le_refl, [lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le_sup_left, [lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le_sup_right, [lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.le_trans, [lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.lt, [lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, and, lattice.semilattice_sup_bot.lt, has_lt.mk, has_lt.lt, iff, auto_param, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.mk, [lattice.semilattice_sup_bot, lattice.has_sup.mk, lattice.has_sup.sup, lattice.has_bot.mk, lattice.has_bot.bot, partial_order.mk, partial_order.to_preorder, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (lattice.semilattice_sup_bot.sup, [lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.sup_le, [lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.to_order_bot, [lattice.semilattice_sup_bot.bot_le, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, lattice.semilattice_sup_bot.bot, lattice.order_bot.mk, lattice.order_bot, lattice.semilattice_sup_bot]), (lattice.semilattice_sup_bot.to_semilattice_sup, [lattice.semilattice_sup_bot.sup_le, lattice.semilattice_sup_bot.le_sup_right, lattice.semilattice_sup_bot.le_sup_left, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, lattice.semilattice_sup_bot.sup, lattice.semilattice_sup.mk, lattice.semilattice_sup, lattice.semilattice_sup_bot]), (lattice.sup_assoc, [or_eq_of_eq_false_right, and_true, lattice.le_sup_right, auto.not_and_eq, eq.mp, lattice.le_sup_left', not_eq_of_eq_true, or_eq_of_eq_false_left, eq_false_of_not_eq_true, lattice.le_sup_right', imp_eq_of_eq_true_left, le_trans, eq_true_intro, eq.symm, false_of_true_eq_false, false, false.rec, or, not, classical.by_contradiction, true_and, eq.refl, lattice.le_sup_left, iff_true_intro, true, congr_arg, congr, lattice.sup_le_iff, propext, eq.trans, id, and, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, lattice.semilattice_sup.to_partial_order, le_antisymm, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup]), (lattice.sup_comm, [eq_false_intro, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, and_self, lattice.le_sup_left, lattice.le_sup_right, iff_true_intro, congr_arg, congr, lattice.sup_le_iff, propext, and, eq.trans, id, true, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, lattice.semilattice_sup.to_partial_order, le_antisymm, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup]), (lattice.sup_eq_max, [rfl, max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, decidable_linear_order]), (lattice.sup_idem, [eq_false_intro, false_of_true_eq_false, false.rec, lattice.le_sup_right, iff_true_intro, true, le_refl, false, absurd, not, classical.by_contradiction, and_self, lattice.sup_le_iff, propext, and, eq.trans, id, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, lattice.semilattice_sup.to_partial_order, le_antisymm, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup]), (lattice.sup_is_associative, [lattice.sup_assoc, is_associative.mk, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, is_associative, lattice.semilattice_sup]), (lattice.sup_is_commutative, [lattice.sup_comm, is_commutative.mk, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, is_commutative, lattice.semilattice_sup]), (lattice.sup_is_idempotent, [lattice.sup_idem, is_idempotent.mk, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, is_idempotent, lattice.semilattice_sup]), (lattice.sup_le, [lattice.semilattice_sup.sup_le, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.sup_le_iff, [lattice.sup_le, id_rhs, and.dcases_on, lattice.le_sup_right, lattice.le_sup_left, le_trans, and.intro, iff.intro, and, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, lattice.semilattice_sup]), (lattice.sup_le_sup, [auto.not_and_eq, eq.mp, lattice.le_sup_left', not_eq_of_eq_true, or_eq_of_eq_false_left, eq_false_of_not_eq_true, lattice.le_sup_right', imp_eq_of_eq_true_left, le_trans, eq_true_intro, eq.symm, true, eq.trans, false_of_true_eq_false, false, false.rec, or, not, classical.by_contradiction, lattice.sup_le_iff, propext, eq, id, and, eq.mpr, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.sup_le_sup_left, [eq_false_intro, lattice.le_sup_right', imp_eq_of_eq_true_left, le_trans, eq_true_intro, eq.symm, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, true_and, eq.refl, lattice.le_sup_left, iff_true_intro, congr_arg, congr, lattice.sup_le_iff, propext, true, and, eq.trans, eq, id, eq.mpr, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (lattice.sup_of_le_right, [eq_false_intro, false_of_true_eq_false, false.rec, lattice.le_sup_right, le_refl, false, absurd, not, classical.by_contradiction, true_and, eq.refl, iff_true_intro, congr_arg, congr, lattice.sup_le_iff, propext, true, and, eq.trans, id, eq.mpr, le_antisymm, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup]), (le_add_iff_nonneg_right, [add_le_add_iff_left, add_zero, eq.refl, eq, eq.rec, eq.mp, add_monoid.to_has_zero, has_zero.zero, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, ordered_cancel_comm_monoid]), (le_antisymm, [partial_order.le_antisymm, eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, partial_order]), (le_iff_eq_or_lt, [or.comm, le_iff_lt_or_eq, iff.trans, preorder.to_has_lt, has_lt.lt, eq, or, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, partial_order]), (le_iff_exists_add, [canonically_ordered_monoid.le_iff_exists_add, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, canonically_ordered_monoid]), (le_iff_lt_or_eq, [le_of_lt_or_eq, lt_or_eq_of_le, iff.intro, id_rhs, eq, preorder.to_has_lt, has_lt.lt, or, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, partial_order]), (le_imp_le_iff_lt_imp_lt, [not_le_of_gt, gt, le_of_not_gt, not_lt_of_ge, ge, lt_of_not_ge, iff.intro, preorder.to_has_lt, has_lt.lt, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, linear_order]), (le_max_iff, [or_iff_right_of_imp, le_trans, or_iff_left_of_imp, max_eq_left, trivial, iff_self, propext, true.intro, iff_true_intro, iff.mpr, max_eq_right, eq.refl, has_le, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, le_total, decidable_linear_order.to_linear_order, linear_order.to_partial_order, or.dcases_on, or, max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, decidable_linear_order]), (le_max_left, [le_refl, not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, trivial, propext, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, eq.trans, true, max.equations._eqn_1, eq.refl, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, max, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (le_max_right, [le_of_not_le, not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, le_refl, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, true, eq.trans, max.equations._eqn_1, eq.refl, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, max, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (le_min, [not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, trivial, propext, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, eq.trans, true, min.equations._eqn_1, eq.refl, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, min, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (le_mul_of_ge_one_left', [mul_le_mul_of_nonneg_right, one_mul, eq.refl, eq, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, eq.mp, mul_zero_class.to_has_mul, has_mul.mul, has_le.le, semiring.to_monoid, monoid.to_has_one, has_one.one, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, linear_ordered_semiring]), (le_mul_of_ge_one_right', [mul_le_mul_of_nonneg_left, mul_one, eq.refl, eq, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, eq.mp, mul_zero_class.to_has_mul, has_mul.mul, has_le.le, semiring.to_monoid, monoid.to_has_one, has_one.one, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, linear_ordered_semiring]), (le_not_le_of_lt, [lt_iff_le_not_le, iff.mp, id_rhs, not, preorder.to_has_le, has_le.le, and, preorder.to_has_lt, has_lt.lt, preorder]), (le_of_add_le_add_left, [ordered_cancel_comm_monoid.le_of_add_le_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (le_of_add_le_add_right, [add_comm, eq.refl, eq.rec, eq, id, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.mpr, le_of_add_le_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (le_of_eq, [le_refl, eq.subst, preorder.to_has_le, has_le.le, eq, preorder]), (le_of_lt, [le_not_le_of_lt, not, and.left, id_rhs, preorder.to_has_le, has_le.le, preorder.to_has_lt, has_lt.lt, preorder]), (le_of_lt_or_eq, [le_refl, eq.subst, le_of_lt, id_rhs, or.dcases_on, preorder.to_has_le, has_le.le, eq, preorder.to_has_lt, has_lt.lt, or, preorder]), (le_of_mul_le_mul_left, [mul_lt_mul_of_pos_left, not_le_of_gt, linear_order.to_partial_order, has_lt.lt, linear_ordered_semiring.to_linear_order, le_of_not_gt, mul_zero_class.to_has_zero, has_zero.zero, preorder.to_has_lt, gt, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (le_of_neg_le_neg, [neg_le_neg, neg_neg, congr_arg, congr, eq, has_le, eq.mp, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (le_of_not_ge, [le_total, or.resolve_left, has_le.le, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, not, linear_order]), (le_of_not_gt, [lt_trichotomy, absurd, le_refl, eq.subst, le_of_lt, id_rhs, or.dcases_on, eq, has_lt.lt, or, preorder.to_has_le, has_le.le, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, not, linear_order]), (le_of_not_le, [le_total, or.resolve_left, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, not, linear_order]), (le_of_not_lt, [not_lt, iff.mp, preorder.to_has_le, has_le.le, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, not, linear_order]), (le_of_sub_nonneg, [add_le_add_right, sub_add_cancel, zero_add, eq.refl, eq, eq.rec, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, add_group_has_sub, has_sub.sub, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (le_or_gt, [lt_or_ge, or.swap, preorder.to_has_lt, gt, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_order]), (le_refl, [preorder.le_refl, preorder.to_has_le, has_le.le, preorder]), (le_total, [linear_order.le_total, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_order]), (le_trans, [preorder.le_trans, preorder.to_has_le, has_le.le, preorder]), (left_comm, [rfl, eq, eq.subst, eq.symm, eq.trans, left_commutative, associative, commutative]), (left_commutative, [eq]), (left_coset, [has_mul.mul, set.image, set, has_mul]), (left_distrib, [distrib.left_distrib, distrib.to_has_add, has_add.add, distrib.to_has_mul, has_mul.mul, eq, distrib]), (lift, [has_lift.lift, has_lift]), (lift_base, [lift, has_lift_t.mk, has_lift_t, has_lift]), (lift_t, [has_lift_t.lift, has_lift_t]), (linear_order, []), (linear_order.le, [linear_order]), (linear_order.le_antisymm, [eq, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, linear_order.le, preorder.mk, preorder.to_has_le, has_le.le, linear_order]), (linear_order.le_refl, [linear_order.le, has_le.mk, has_le.le, linear_order]), (linear_order.le_total, [linear_order.le_antisymm, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, linear_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_order]), (linear_order.le_trans, [linear_order.le, has_le.mk, has_le.le, linear_order]), (linear_order.lt, [linear_order]), (linear_order.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, linear_order.le, has_le.mk, has_le.le, and, linear_order.lt, has_lt.mk, has_lt.lt, iff, auto_param, linear_order]), (linear_order.mk, [linear_order, partial_order.mk, partial_order.to_preorder, or, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (linear_order.to_partial_order, [linear_order.le_antisymm, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, linear_order.le, partial_order.mk, partial_order, linear_order]), (linear_ordered_comm_ring, []), (linear_ordered_comm_ring.add, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_assoc, [linear_ordered_comm_ring.add, has_add.mk, has_add.add, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_comm, [linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_le_add_left, [linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, linear_ordered_comm_ring.neg, has_neg.mk, has_neg.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_lt_add_left, [linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_comm_ring]), (linear_ordered_comm_ring.add_zero, [linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.le, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.le_antisymm, [eq, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, preorder.mk, preorder.to_has_le, has_le.le, linear_ordered_comm_ring]), (linear_ordered_comm_ring.le_refl, [linear_ordered_comm_ring.le, has_le.mk, has_le.le, linear_ordered_comm_ring]), (linear_ordered_comm_ring.le_total, [linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_ordered_comm_ring]), (linear_ordered_comm_ring.le_trans, [linear_ordered_comm_ring.le, has_le.mk, has_le.le, linear_ordered_comm_ring]), (linear_ordered_comm_ring.left_distrib, [linear_ordered_comm_ring.add, has_add.mk, has_add.add, linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.lt, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, linear_ordered_comm_ring.le, has_le.mk, has_le.le, and, linear_ordered_comm_ring.lt, has_lt.mk, has_lt.lt, iff, auto_param, linear_ordered_comm_ring]), (linear_ordered_comm_ring.mk, [linear_ordered_comm_ring, ordered_ring.mk, ordered_ring.to_ordered_comm_group, or, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ordered_comm_group.mk, ordered_comm_group.to_partial_order, ne, preorder.to_has_lt, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (linear_ordered_comm_ring.mul, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.mul_assoc, [linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.mul_comm, [linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.mul_nonneg, [linear_ordered_comm_ring.right_distrib, linear_ordered_comm_ring.left_distrib, linear_ordered_comm_ring.mul_one, linear_ordered_comm_ring.one_mul, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_comm_ring.zero_ne_one, linear_ordered_comm_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_comm_ring.add_lt_add_left, linear_ordered_comm_ring.add_le_add_left, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_comm_ring]), (linear_ordered_comm_ring.mul_one, [linear_ordered_comm_ring.one, has_one.mk, has_one.one, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.mul_pos, [linear_ordered_comm_ring.right_distrib, linear_ordered_comm_ring.left_distrib, linear_ordered_comm_ring.mul_one, linear_ordered_comm_ring.one_mul, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_comm_ring.zero_ne_one, linear_ordered_comm_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_comm_ring.add_lt_add_left, linear_ordered_comm_ring.add_le_add_left, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_comm_ring]), (linear_ordered_comm_ring.neg, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.one, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.one_mul, [linear_ordered_comm_ring.one, has_one.mk, has_one.one, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.right_distrib, [linear_ordered_comm_ring.add, has_add.mk, has_add.add, linear_ordered_comm_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.to_integral_domain, [linear_ordered_comm_ring.zero_ne_one, linear_ordered_comm_ring.to_integral_domain._proof_1, linear_ordered_comm_ring.mul_comm, linear_ordered_comm_ring.right_distrib, linear_ordered_comm_ring.left_distrib, linear_ordered_comm_ring.mul_one, linear_ordered_comm_ring.one_mul, linear_ordered_comm_ring.one, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, integral_domain.mk, integral_domain, linear_ordered_comm_ring]), (linear_ordered_comm_ring.to_integral_domain._proof_1, [linear_ordered_ring.eq_zero_or_eq_zero_of_mul_eq_zero, or, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.to_linear_ordered_ring, [linear_ordered_comm_ring.zero_lt_one, linear_ordered_comm_ring.le_total, linear_ordered_comm_ring.mul_pos, linear_ordered_comm_ring.mul_nonneg, linear_ordered_comm_ring.zero_ne_one, linear_ordered_comm_ring.add_lt_add_left, linear_ordered_comm_ring.add_le_add_left, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, linear_ordered_comm_ring.right_distrib, linear_ordered_comm_ring.left_distrib, linear_ordered_comm_ring.mul_one, linear_ordered_comm_ring.one_mul, linear_ordered_comm_ring.one, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, linear_ordered_ring.mk, linear_ordered_ring, linear_ordered_comm_ring]), (linear_ordered_comm_ring.zero, [linear_ordered_comm_ring]), (linear_ordered_comm_ring.zero_add, [linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_comm_ring]), (linear_ordered_comm_ring.zero_lt_one, [linear_ordered_comm_ring.mul_pos, linear_ordered_comm_ring.mul_nonneg, linear_ordered_comm_ring.zero_ne_one, linear_ordered_comm_ring.add_lt_add_left, linear_ordered_comm_ring.add_le_add_left, linear_ordered_comm_ring.le_antisymm, linear_ordered_comm_ring.lt_iff_le_not_le, linear_ordered_comm_ring.le_trans, linear_ordered_comm_ring.le_refl, linear_ordered_comm_ring.lt, linear_ordered_comm_ring.le, linear_ordered_comm_ring.right_distrib, linear_ordered_comm_ring.left_distrib, linear_ordered_comm_ring.mul_one, linear_ordered_comm_ring.one_mul, linear_ordered_comm_ring.one, linear_ordered_comm_ring.mul_assoc, linear_ordered_comm_ring.mul, linear_ordered_comm_ring.add_comm, linear_ordered_comm_ring.add_left_neg, linear_ordered_comm_ring.neg, linear_ordered_comm_ring.add_zero, linear_ordered_comm_ring.zero_add, linear_ordered_comm_ring.zero, linear_ordered_comm_ring.add_assoc, linear_ordered_comm_ring.add, ordered_ring.mk, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_comm_ring]), (linear_ordered_comm_ring.zero_ne_one, [linear_ordered_comm_ring.one, has_one.mk, has_one.one, linear_ordered_comm_ring.zero, has_zero.mk, has_zero.zero, ne, linear_ordered_comm_ring]), (linear_ordered_ring, []), (linear_ordered_ring.add, [linear_ordered_ring]), (linear_ordered_ring.add_assoc, [linear_ordered_ring.add, has_add.mk, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.add_comm, [linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.add_le_add_left, [linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, linear_ordered_ring.neg, has_neg.mk, has_neg.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.add_lt_add_left, [linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_ring]), (linear_ordered_ring.add_zero, [linear_ordered_ring.zero, has_zero.mk, has_zero.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.eq_zero_or_eq_zero_of_mul_eq_zero, [mul_pos_of_neg_of_neg, mul_neg_of_neg_of_pos, or.inl, mul_neg_of_pos_of_neg, gt, eq.symm, or.inr, mul_pos, lt_irrefl, eq.refl, eq.rec, eq.mp, absurd, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, lt_trichotomy, id_rhs, or.dcases_on, linear_ordered_ring.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, or, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.le, [linear_ordered_ring]), (linear_ordered_ring.le_antisymm, [eq, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, preorder.mk, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.le_refl, [linear_ordered_ring.le, has_le.mk, has_le.le, linear_ordered_ring]), (linear_ordered_ring.le_total, [linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_ordered_ring]), (linear_ordered_ring.le_trans, [linear_ordered_ring.le, has_le.mk, has_le.le, linear_ordered_ring]), (linear_ordered_ring.left_distrib, [linear_ordered_ring.add, has_add.mk, has_add.add, linear_ordered_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.lt, [linear_ordered_ring]), (linear_ordered_ring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, linear_ordered_ring.le, has_le.mk, has_le.le, and, linear_ordered_ring.lt, has_lt.mk, has_lt.lt, iff, auto_param, linear_ordered_ring]), (linear_ordered_ring.mk, [linear_ordered_ring, ordered_ring.mk, ordered_ring.to_ordered_comm_group, or, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ordered_comm_group.mk, ordered_comm_group.to_partial_order, ne, preorder.to_has_lt, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (linear_ordered_ring.mul, [linear_ordered_ring]), (linear_ordered_ring.mul_assoc, [linear_ordered_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.mul_nonneg, [linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_ring.zero_ne_one, linear_ordered_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_ring.add_lt_add_left, linear_ordered_ring.add_le_add_left, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.mul_one, [linear_ordered_ring.one, has_one.mk, has_one.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.mul_pos, [linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_ring.zero_ne_one, linear_ordered_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, linear_ordered_ring.add_lt_add_left, linear_ordered_ring.add_le_add_left, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_ring]), (linear_ordered_ring.neg, [linear_ordered_ring]), (linear_ordered_ring.one, [linear_ordered_ring]), (linear_ordered_ring.one_mul, [linear_ordered_ring.one, has_one.mk, has_one.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.right_distrib, [linear_ordered_ring.add, has_add.mk, has_add.add, linear_ordered_ring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.to_linear_order, [linear_ordered_ring.le_total, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_order.mk, linear_order, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring, [linear_ordered_ring.zero_lt_one, linear_ordered_ring.le_total, linear_ordered_ring.to_linear_ordered_semiring._proof_9, linear_ordered_ring.to_linear_ordered_semiring._proof_8, linear_ordered_ring.to_linear_ordered_semiring._proof_7, linear_ordered_ring.to_linear_ordered_semiring._proof_6, linear_ordered_ring.to_linear_ordered_semiring._proof_5, linear_ordered_ring.add_le_add_left, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_ordered_ring.to_linear_ordered_semiring._proof_4, linear_ordered_ring.to_linear_ordered_semiring._proof_3, linear_ordered_ring.to_linear_ordered_semiring._proof_2, linear_ordered_ring.to_linear_ordered_semiring._proof_1, linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, linear_ordered_ring.add_comm, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, linear_ordered_semiring.mk, linear_ordered_semiring, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_1, [zero_mul, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_2, [mul_zero, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_3, [add_left_cancel, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_4, [add_right_cancel, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_5, [le_of_add_le_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_6, [mul_le_mul_of_nonneg_left, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_7, [mul_le_mul_of_nonneg_right, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_8, [mul_lt_mul_of_pos_left, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_ring]), (linear_ordered_ring.to_linear_ordered_semiring._proof_9, [mul_lt_mul_of_pos_right, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_ring]), (linear_ordered_ring.to_ordered_ring, [linear_ordered_ring.mul_pos, linear_ordered_ring.mul_nonneg, linear_ordered_ring.zero_ne_one, linear_ordered_ring.add_lt_add_left, linear_ordered_ring.add_le_add_left, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, ordered_ring.mk, ordered_ring, linear_ordered_ring]), (linear_ordered_ring.zero, [linear_ordered_ring]), (linear_ordered_ring.zero_add, [linear_ordered_ring.zero, has_zero.mk, has_zero.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_ring]), (linear_ordered_ring.zero_lt_one, [linear_ordered_ring.mul_pos, linear_ordered_ring.mul_nonneg, linear_ordered_ring.zero_ne_one, linear_ordered_ring.add_lt_add_left, linear_ordered_ring.add_le_add_left, linear_ordered_ring.le_antisymm, linear_ordered_ring.lt_iff_le_not_le, linear_ordered_ring.le_trans, linear_ordered_ring.le_refl, linear_ordered_ring.lt, linear_ordered_ring.le, linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, ordered_ring.mk, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_ring]), (linear_ordered_ring.zero_ne_one, [linear_ordered_ring.one, has_one.mk, has_one.one, linear_ordered_ring.zero, has_zero.mk, has_zero.zero, ne, linear_ordered_ring]), (linear_ordered_semiring, []), (linear_ordered_semiring.add, [linear_ordered_semiring]), (linear_ordered_semiring.add_assoc, [linear_ordered_semiring.add, has_add.mk, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.add_comm, [linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.add_le_add_left, [linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.add_left_cancel, [linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.add_right_cancel, [linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.add_zero, [linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.le, [linear_ordered_semiring]), (linear_ordered_semiring.le_antisymm, [eq, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, preorder.mk, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.le_of_add_le_add_left, [linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.le_refl, [linear_ordered_semiring.le, has_le.mk, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.le_total, [linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, linear_ordered_semiring]), (linear_ordered_semiring.le_trans, [linear_ordered_semiring.le, has_le.mk, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.left_distrib, [linear_ordered_semiring.add, has_add.mk, has_add.add, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.lt, [linear_ordered_semiring]), (linear_ordered_semiring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, linear_ordered_semiring.le, has_le.mk, has_le.le, and, linear_ordered_semiring.lt, has_lt.mk, has_lt.lt, iff, auto_param, linear_ordered_semiring]), (linear_ordered_semiring.mk, [linear_ordered_semiring, ordered_semiring.mk, ordered_semiring.to_ordered_cancel_comm_monoid, or, preorder.to_has_lt, mul_zero_class.to_has_mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (linear_ordered_semiring.mul, [linear_ordered_semiring]), (linear_ordered_semiring.mul_assoc, [linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.mul_le_mul_of_nonneg_left, [mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.mul_le_mul_of_nonneg_right, [mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (linear_ordered_semiring.mul_lt_mul_of_pos_left, [mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (linear_ordered_semiring.mul_lt_mul_of_pos_right, [mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (linear_ordered_semiring.mul_one, [linear_ordered_semiring.one, has_one.mk, has_one.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.mul_zero, [linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.one, [linear_ordered_semiring]), (linear_ordered_semiring.one_mul, [linear_ordered_semiring.one, has_one.mk, has_one.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.right_distrib, [linear_ordered_semiring.add, has_add.mk, has_add.add, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_semiring]), (linear_ordered_semiring.to_linear_order, [linear_ordered_semiring.le_total, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_order.mk, linear_order, linear_ordered_semiring]), (linear_ordered_semiring.to_ordered_semiring, [linear_ordered_semiring.mul_lt_mul_of_pos_right, linear_ordered_semiring.mul_lt_mul_of_pos_left, linear_ordered_semiring.mul_le_mul_of_nonneg_right, linear_ordered_semiring.mul_le_mul_of_nonneg_left, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_semiring.mk, ordered_semiring, linear_ordered_semiring]), (linear_ordered_semiring.zero, [linear_ordered_semiring]), (linear_ordered_semiring.zero_add, [linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, linear_ordered_semiring]), (linear_ordered_semiring.zero_lt_one, [linear_ordered_semiring.mul_lt_mul_of_pos_right, linear_ordered_semiring.mul_lt_mul_of_pos_left, linear_ordered_semiring.mul_le_mul_of_nonneg_right, linear_ordered_semiring.mul_le_mul_of_nonneg_left, linear_ordered_semiring.le_of_add_le_add_left, linear_ordered_semiring.add_le_add_left, linear_ordered_semiring.le_antisymm, linear_ordered_semiring.lt_iff_le_not_le, linear_ordered_semiring.le_trans, linear_ordered_semiring.le_refl, linear_ordered_semiring.lt, linear_ordered_semiring.le, linear_ordered_semiring.add_right_cancel, linear_ordered_semiring.add_left_cancel, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, linear_ordered_semiring.mul, linear_ordered_semiring.add_comm, linear_ordered_semiring.add_zero, linear_ordered_semiring.zero_add, linear_ordered_semiring.zero, linear_ordered_semiring.add_assoc, linear_ordered_semiring.add, ordered_semiring.mk, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (linear_ordered_semiring.zero_mul, [linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, linear_ordered_semiring]), (list, []), (list.all, [bool.tt, band, list.foldr, bool, list]), (list.all_cons, [rfl, band, list.cons, list.all, eq, list, bool]), (list.all_iff_forall, [list.forall_mem_cons', list.mem_cons_iff, or, band_coe_iff, list.all_cons, band, and, list.cons, trivial, iff_self, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, list.not_mem_nil, iff_false_intro, propext, imp_congr_eq, false, forall_congr_eq, bool.coe_sort_tt, list.all_nil, has_coe_to_sort, bool.tt, has_coe_to_sort.S, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, list.all, coe_sort_bool, coe_sort, iff, list, bool]), (list.all_iff_forall_prop, [trivial, iff_self, bool.of_to_bool_iff, eq.refl, imp_congr_eq, forall_congr_eq, list.all_iff_forall, propext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, list.has_mem, has_mem.mem, decidable.to_bool, list.all, coe_sort_bool, bool, coe_sort, iff, list, decidable_pred]), (list.all_nil, [rfl, bool.tt, list.nil, list.all, eq, bool]), (list.any, [bool.ff, bor, list.foldr, bool, list]), (list.any_cons, [rfl, bor, list.cons, list.any, eq, list, bool]), (list.any_iff_exists, [exists_eq_left, exists_or_distrib, or_and_distrib_right, list.mem_cons_iff, exists_prop, eq.refl, bor_coe_iff, list.any_cons, bor, and, or, list.cons, trivial, iff_self, exists_false, true.intro, not_false_iff, list.not_mem_nil, not_congr, iff.trans, iff.mpr, exists_prop_of_false, iff_false_intro, not, propext, funext, bool.coe_sort_ff, list.any_nil, has_coe_to_sort, bool.ff, has_coe_to_sort.S, congr_arg, congr, false, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, Exists, list.any, coe_sort_bool, coe_sort, iff, list, bool]), (list.any_iff_exists_prop, [trivial, iff_self, exists_prop, bool.of_to_bool_iff, has_coe_to_sort.S, funext, list.any_iff_exists, propext, congr_arg, congr, and, eq.trans, eq, id, true, eq.mpr, list.has_mem, has_mem.mem, Exists, decidable.to_bool, list.any, coe_sort_bool, bool, coe_sort, iff, list, decidable_pred]), (list.any_nil, [rfl, bool.ff, list.nil, list.any, eq, bool]), (list.append, [list.append._main, list]), (list.append._main, [pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.append_assoc, [and_self, list.cons.inj_eq, list.cons_append, and, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.nil_append, has_append, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.has_append, has_append.append, eq, list]), (list.append_nil, [and_self, list.cons.inj_eq, list.cons_append, and, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.nil_append, congr_arg, congr, eq.trans, id, true, eq.mpr, list.rec, list.nil, list.has_append, has_append.append, eq, list]), (list.append_sublist_append_left, [pprod, punit, list.rec, pprod.fst, list.cons_sublist_cons_iff, iff.trans, list.append, list.cons, iff.rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.sublist, iff, list]), (list.attach, [list.attach._proof_1, subtype.mk, list.pmap, list.has_mem, has_mem.mem, subtype, list]), (list.attach._proof_1, [id, list.has_mem, has_mem.mem, list]), (list.attach.equations._eqn_1, [eq.refl, list.attach._proof_1, subtype.mk, list.pmap, list.attach, list.has_mem, has_mem.mem, subtype, eq, list]), (list.attach_map_val, [list.map_id, list.pmap_eq_map, eq.trans, list.map_pmap, list.attach.equations._eqn_1, eq.refl, eq.rec, id, list.attach._proof_1, subtype.mk, list.pmap, eq.mpr, list.attach, subtype.val, list.has_mem, has_mem.mem, subtype, list.map, eq, list]), (list.bag_inter, [list.bag_inter._main, list, decidable_eq]), (list.bag_inter._main, [list.erase, pprod, punit, list.rec, pprod.fst, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, decidable_eq]), (list.bag_inter._main.equations._eqn_3, [id_delta, eq.refl, list.nil, list.cons, list.bag_inter._main, eq, list, decidable_eq]), (list.bag_inter._main.equations._eqn_4, [id_delta, eq.refl, list.erase, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, list.bag_inter._main, eq, list, decidable_eq]), (list.bag_inter.equations._eqn_3, [list.bag_inter._main.equations._eqn_3, list.nil, list.cons, list.bag_inter, eq, list, decidable_eq]), (list.bag_inter.equations._eqn_4, [list.bag_inter._main.equations._eqn_4, list.erase, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, list.bag_inter, eq, list, decidable_eq]), (list.bag_inter_nil, [list.cons, eq.refl, list.cases_on, list.nil, list.bag_inter, eq, list, decidable_eq]), (list.bag_inter_sublist_left, [list.sublist_cons_of_sublist, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.cons_bag_inter_of_neg, not, pprod, punit, list.rec, pprod.fst, list.cons_sublist_cons, true.intro, iff.mpr, list.cons_bag_inter_of_pos, list.erase, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.cons, trivial, list.nil_sublist, iff_true_intro, propext, eq.refl, list.nil_bag_inter, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.bag_inter, list.sublist, list, decidable_eq]), (list.below, [pprod, punit, list.rec, list]), (list.bind, [list.map, list.join, list]), (list.bind.equations._eqn_1, [eq.refl, list.map, list.join, list.bind, eq, list]), (list.brec_on, [list.cons, punit.star, punit, list.nil, pprod.mk, pprod, list.rec, pprod.fst, list.below, list]), (list.cases_on, [list.rec, list.cons, list.nil, list]), (list.chain, [list]), (list.chain.cons, [list.cons, list.chain, list]), (list.chain.dcases_on, [list.chain.rec, list.chain.cons, list.cons, list.chain.nil, list.nil, list.chain, list]), (list.chain.drec, [list.chain.rec, list.chain.cons, list.cons, list.chain.nil, list.nil, list.chain, list]), (list.chain.imp, [list.chain.cons, list.chain.nil, list.chain.drec, list.chain, list]), (list.chain.nil, [list.nil, list.chain]), (list.chain.rec, [list.cons, list.chain, list.nil, list]), (list.chain_cons, [id_rhs, and.dcases_on, heq.refl, eq.refl, and.intro, list.chain.cons, list.no_confusion, list.chain.nil, list.nil, eq.rec, heq, eq, list.chain.dcases_on, iff.intro, and, list.cons, list.chain, iff, list]), (list.chain_iff_pairwise, [list.chain_of_pairwise, list.rel_of_pairwise_cons, true_and, list.forall_mem_cons', list.mem_cons_iff, or, list.pairwise.cons, trivial, and_self, list.pairwise.nil, iff_true_intro, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, list.not_mem_nil, iff_false_intro, imp_congr_eq, false, forall_congr_eq, congr_arg, congr, list.pairwise_cons, propext, list.has_mem, has_mem.mem, and, eq.trans, eq, id, true, list.nil, eq.mpr, list.chain.drec, iff.intro, list.cons, list.pairwise, list.chain, iff, list, transitive]), (list.chain_lt_range', [list.chain_succ_range', nat.lt_succ_self, eq.symm, eq.subst, nat.succ, eq, list.chain.imp, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range', nat.has_lt, has_lt.lt, list.chain, nat]), (list.chain_of_pairwise, [true_and, list.forall_mem_cons', eq.refl, list.mem_cons_iff, imp_congr_eq, forall_congr_eq, or, eq.mp, and.elim_left, congr_arg, congr, eq.trans, list.chain_cons, trivial, list.chain.nil, iff_true_intro, propext, eq, id, true, eq.mpr, list.nil, list.pairwise.drec, list.pairwise_cons, iff.mp, and, list.has_mem, has_mem.mem, and.dcases_on, list.chain, list.cons, list.pairwise, list]), (list.chain_succ_range', [pprod, punit, nat.rec, nat.add, pprod.fst, rfl, list.chain.cons, list.cons, list.chain.nil, list.nil, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range', nat.succ, eq, list.chain, nat]), (list.cons, [list]), (list.cons.inj, [and.intro, list.no_confusion, and, list.cons, eq, list]), (list.cons.inj_arrow, [and.elim_right, list.cons.inj, and.elim_left, list.cons, eq, list]), (list.cons.inj_eq, [congr_arg, congr, and.dcases_on, list.cons.inj, iff.intro, propext, and, list.cons, eq, list]), (list.cons_append, [rfl, list.cons, list.has_append, has_append.append, eq, list]), (list.cons_bag_inter_of_neg, [if_false, true.intro, not_false_iff, not_congr, iff.trans, iff.mpr, list.erase_of_not_mem, eq.drec, eq.refl, if_simp_congr, list.bag_inter.equations._eqn_4, list.erase, iff_false_intro, list.decidable_mem, decidable_of_decidable_of_iff, false, ite, trivial, eq_self_iff_true, propext, list.bag_inter_nil, list.bag_inter.equations._eqn_3, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, list.cases_on, list.cons, list.bag_inter, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.cons_bag_inter_of_pos, [list.decidable_mem, if_pos, list.nil, list.cases_on, list.erase, list.cons, list.bag_inter, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.cons_perm_iff_perm_erase, [list.perm.symm, list.perm.skip, id_rhs, and.dcases_on, list.mem_cons_self, list.perm_subset, list.perm_erase, list.perm.trans, list.perm_cons_inv, and.intro, iff.intro, list.erase, list.has_mem, has_mem.mem, and, list.cons, list.perm, iff, list, decidable_eq]), (list.cons_sublist_cons, [list.sublist.cons2, list.cons, list.sublist, list]), (list.cons_sublist_cons_iff, [list.cons_sublist_cons, list.sublist_of_cons_sublist_cons, iff.intro, list.cons, list.sublist, iff, list]), (list.cons_subperm_of_mem, [list.perm.symm, list.perm.swap, list.perm_middle, list.perm.trans, list.perm_cons_inv, list.subset_of_sublist, mt, trivial, list.sublist_cons, iff_true_intro, list.append_sublist_append_left, eq.trans, id, true, eq.mpr, list.nodup_of_sublist, eq.symm, eq.subst, list.mem, or.resolve_left, list.mem_cons_self, list.perm_subset, list.mem_split, list.has_append, has_append.append, list.sublist.cons, list.sublist.cons2, list.perm.skip, Exists.intro, eq.rec, list.mem_cons_iff, propext, eq.mp, or, eq, or.dcases_on, false.dcases_on, list.nil, list.sublist.drec, list.sublist, list.perm, Exists, Exists.dcases_on, list.cons, list.subperm, list.has_mem, has_mem.mem, not, list.nodup, list]), (list.cons_union, [rfl, list.has_insert, insert, list.cons, list.has_union, has_union.union, eq, list, decidable_eq]), (list.count, [eq, list.countp, nat, list, decidable_eq]), (list.count.equations._eqn_1, [eq.refl, list.countp, list.count, nat, list, eq, decidable_eq]), (list.count_cons_of_ne, [list.countp, nat.succ, if_neg, list.cons, list.count, nat, eq, list, ne, decidable_eq]), (list.count_cons_self, [list.countp, rfl, if_pos, nat.succ, list.cons, list.count, nat, eq, list, decidable_eq]), (list.count_eq_one_of_mem, [list.count_pos, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, iff.mpr, list.nodup_iff_count_le_one, nat.has_le, has_le.le, iff.mp, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, nat.has_one, has_one.one, list.count, nat, eq, list.has_mem, has_mem.mem, list.nodup, list, decidable_eq]), (list.count_eq_zero_of_not_mem, [nat.pos_of_ne_zero, list.count_pos, nat.has_lt, has_lt.lt, iff.mp, nat.decidable_eq, by_contradiction, nat.has_zero, has_zero.zero, list.count, nat, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.count_le_of_sublist, [eq, list.countp_le_of_sublist, list.count, nat.has_le, nat, has_le.le, list.sublist, list, decidable_eq]), (list.count_pos, [trivial, iff_self, exists_eq_right', exists_prop, funext, list.countp_pos, propext, list.count.equations._eqn_1, congr_fun, eq.refl, has_lt, list.countp, and, Exists, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, list.has_mem, has_mem.mem, list.count, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, list, decidable_eq]), (list.count_repeat, [list.length_repeat, list.eq_of_mem_repeat, eq.symm, list.filter_eq_self, list.has_mem, has_mem.mem, iff.mpr, list.countp_eq_length_filter, list.filter, list.length, list.count.equations._eqn_1, eq.refl, list, eq.rec, id, list.countp, eq.mpr, list.repeat, list.count, eq, nat, decidable_eq]), (list.countp, [list.countp._main, nat, list, decidable_pred]), (list.countp._main, [pprod, punit, list.rec, pprod.fst, nat.succ, ite, list.cons, nat.has_zero, has_zero.zero, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, nat, list, decidable_pred]), (list.countp_cons_of_neg, [nat.succ, if_neg, list.cons, list.countp, nat, eq, not, list, decidable_pred]), (list.countp_cons_of_pos, [nat.succ, if_pos, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, list.countp, nat, eq, list, decidable_pred]), (list.countp_eq_length_filter, [list.filter_cons_of_neg, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.countp_cons_of_neg, not, trivial, eq_self_iff_true, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, propext, list.length.equations._eqn_2, list.filter_cons_of_pos, has_add, true.intro, iff_true_intro, iff.mpr, list.countp_cons_of_pos, congr_arg, congr, nat.has_one, has_one.one, nat.has_add, has_add.add, eq.trans, id, true, eq.mpr, list.cons, dite, list.nil, eq.refl, list.rec, list.filter, list.length, list.countp, nat, eq, list, decidable_pred]), (list.countp_le_of_sublist, [list.filter_sublist_filter, list.length_le_of_sublist, list.countp_eq_length_filter, congr_arg, congr, has_le, eq, id, list.filter, list.length, eq.mpr, list.countp, nat.has_le, nat, has_le.le, list.sublist, list, decidable_pred]), (list.countp_pos, [trivial, iff_self, exists_prop, list.mem_filter, funext, list.length_pos_iff_exists_mem, propext, list.countp_eq_length_filter, eq.refl, has_lt, list.length, list.filter, congr_arg, congr, and, eq.trans, eq, id, true, eq.mpr, list.has_mem, has_mem.mem, Exists, list.countp, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, list, decidable_pred]), (list.decidable_exists_mem, [bool.tt, bool.decidable_eq, list.decidable_exists_mem._proof_1, decidable.to_bool, list.any, coe_sort_bool, bool, coe_sort, decidable_of_iff, list.has_mem, has_mem.mem, Exists, decidable, list, decidable_pred]), (list.decidable_exists_mem._proof_1, [list.any_iff_exists_prop, list.has_mem, has_mem.mem, Exists, decidable.to_bool, list.any, coe_sort_bool, bool, coe_sort, iff, list, decidable_pred]), (list.decidable_forall_mem, [bool.tt, bool.decidable_eq, list.decidable_forall_mem._proof_1, decidable.to_bool, list.all, coe_sort_bool, bool, coe_sort, decidable_of_iff, list.has_mem, has_mem.mem, decidable, list, decidable_pred]), (list.decidable_forall_mem._proof_1, [list.all_iff_forall_prop, list.has_mem, has_mem.mem, decidable.to_bool, list.all, coe_sort_bool, bool, coe_sort, iff, list, decidable_pred]), (list.decidable_mem, [list.decidable_mem._main, list.has_mem, has_mem.mem, decidable, list, decidable_eq]), (list.decidable_mem._main, [pprod, punit, list.rec, pprod.fst, list.decidable_mem._match_1, not, list.mem, or.inl, decidable.is_true, eq, dite, list.cons, not_false, decidable.is_false, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_mem, has_mem.mem, decidable, list, decidable_eq]), (list.decidable_mem._match_1, [or.inr, decidable.is_true, list.mem, not_or, decidable.is_false, id_rhs, decidable.cases_on, list.cons, list.has_mem, has_mem.mem, decidable, eq, not, list]), (list.decidable_perm, [list.decidable_perm._main, list.perm, decidable, list, decidable_eq]), (list.decidable_perm._main, [pprod, punit, list.rec, pprod.fst, list.decidable_mem, and.decidable, list.cons_perm_iff_perm_erase, list.erase, list.has_mem, has_mem.mem, and, decidable_of_iff', list.eq_nil_of_perm_nil, false, list.no_confusion, decidable.is_false, list.cons, list.perm.refl, decidable.is_true, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.perm, decidable, list, decidable_eq]), (list.diff, [list.diff._main, list, decidable_eq]), (list.diff._main, [list.erase, pprod, punit, list.rec, pprod.fst, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, decidable_eq]), (list.diff._main.equations._eqn_2, [id_delta, eq.refl, list.erase, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, list.diff._main, eq, list, decidable_eq]), (list.diff.equations._eqn_2, [list.diff._main.equations._eqn_2, list.erase, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.cons, list.diff, eq, list, decidable_eq]), (list.diff_append, [trivial, eq_self_iff_true, propext, eq.refl, eq.drec, list.foldl_append, list.diff_eq_foldl, congr_arg, congr, list.erase, list.foldl, eq.trans, id, true, eq.mpr, list.has_append, has_append.append, list.diff, eq, list, decidable_eq]), (list.diff_cons, [if_false, true.intro, not_false_iff, not_congr, iff.trans, iff.mpr, list.erase_of_not_mem, eq.drec, iff_false_intro, false, not, trivial, eq_self_iff_true, propext, if_true, eq.refl, if_simp_congr, list.diff.equations._eqn_2, iff_true_intro, decidable_of_decidable_of_iff, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.erase, list.cons, list.diff, eq, list, decidable_eq]), (list.diff_eq_foldl, [pprod, punit, list.rec, pprod.fst, list.diff_cons, eq.trans, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.erase, list.foldl, list.diff, eq, list, decidable_eq]), (list.diff_nil, [rfl, list.nil, list.diff, eq, list, decidable_eq]), (list.disjoint, [false, list.has_mem, has_mem.mem, list]), (list.disjoint_left, [iff.rfl, not, list.has_mem, has_mem.mem, list.disjoint, iff, list]), (list.eq_nil_of_forall_not_mem, [list.mem_cons_self, absurd, list.cons, rfl, id_rhs, list.cases_on, list.nil, eq, list.has_mem, has_mem.mem, not, list]), (list.eq_nil_of_length_eq_zero, [nat.no_confusion, list.cons, eq.refl, list.rec, list.nil, nat.has_zero, has_zero.zero, list.length, nat, eq, list]), (list.eq_nil_of_perm_nil, [list.perm_length, list.length, nat, eq.symm, list.eq_nil_of_length_eq_zero, eq, list.nil, list.perm, list]), (list.eq_nil_of_sublist_nil, [list.subset_of_sublist, list.eq_nil_of_subset_nil, eq, list.nil, list.sublist, list]), (list.eq_nil_of_subset_nil, [list.mem_cons_self, false.elim, list.cons, rfl, id_rhs, list.cases_on, eq, list.nil, list.has_subset, has_subset.subset, list]), (list.eq_of_mem_repeat, [pprod, punit, nat.rec, pprod.fst, id, nat.add, list.mem, or.elim, id_rhs, nat.succ, false.dcases_on, nat.zero, nat.cases_on, nat.below, nat.brec_on, eq, list.repeat, list.has_mem, list, has_mem.mem, nat]), (list.eq_of_sublist_of_length_eq, [heq.refl, pprod, punit, list.rec, pprod.fst, list.length.equations._eqn_2, nat.has_one, has_one.one, nat.has_add, has_add.add, eq.mp, nat.succ.inj_arrow, list.sublist.cons2, nat.lt_succ_self, eq.refl, id, preorder.to_has_lt, gt, eq.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, not_le_of_gt, list.length_le_of_sublist, nat.has_le, has_le.le, absurd, list.sublist.cons, list.cons, eq.symm, rfl, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, list.sublist.dcases_on, list.below, list.brec_on, list.length, nat, eq, list.sublist, list]), (list.eq_of_sublist_of_length_le, [list.length_le_of_sublist, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, list.eq_of_sublist_of_length_eq, eq, list.length, nat.has_le, nat, has_le.le, list.sublist, list]), (list.eq_or_mem_of_mem_cons, [eq, or, list.cons, list.has_mem, has_mem.mem, list]), (list.eq_repeat, [list.eq_repeat_of_mem, id_rhs, and.dcases_on, list.eq_of_mem_repeat, list.length_repeat, and.intro, eq.symm, eq.subst, iff.intro, list.has_mem, has_mem.mem, list.length, and, list.repeat, eq, iff, list, nat]), (list.eq_repeat_of_mem, [forall_eq, forall_and_distrib, or_imp_distrib, eq.refl, list.mem_cons_iff, propext, imp_congr_eq, or, forall_congr_eq, eq.trans, eq.mp, and.right, pprod, punit, list.rec, pprod.fst, and.left, congr_arg, congr, id, and, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.length, list.repeat, eq, list.has_mem, has_mem.mem, list]), (list.erase, [list.erase._main, list, decidable_eq]), (list.erase._main, [pprod, punit, list.rec, pprod.fst, eq, ite, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, decidable_eq]), (list.erase._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.erase._main, list, eq, decidable_eq]), (list.erase._main.equations._eqn_2, [id_delta, eq.refl, ite, list.cons, list.erase._main, eq, list, decidable_eq]), (list.erase.equations._eqn_1, [list.erase._main.equations._eqn_1, list.nil, list.erase, list, eq, decidable_eq]), (list.erase.equations._eqn_2, [list.erase._main.equations._eqn_2, ite, list.cons, list.erase, eq, list, decidable_eq]), (list.erase_append_left, [ne.symm, list.mem_of_ne_of_mem, pprod, punit, list.rec, pprod.fst, true_and, list.cons.inj_eq, true.intro, not_false_iff, iff_false_intro, ne.def, false, iff.refl, iff, eq.rec, ne, iff.mpr, list.erase_cons_tail, and, not, trivial, eq_self_iff_true, propext, list.erase_cons_head, list.cons_append, has_append, eq.refl, eq.drec, congr_arg, congr, eq.trans, id, true, eq.mpr, dite, id_rhs, list.cons, false.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.erase, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.erase_append_right, [trivial, and_self, eq_self_iff_true, list.cons.inj_eq, list.not_mem_of_not_mem_cons, not_congr, iff.trans, pprod, punit, list.rec, pprod.fst, true.intro, not_false_iff, list.ne_of_not_mem_cons, ne.symm, iff_false_intro, propext, ne.def, false, iff.refl, iff, eq.rec, ne, iff.mpr, list.erase_cons_tail, list.cons_append, eq.refl, eq.drec, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.erase, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.erase_comm, [true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, list.erase_of_not_mem, list.exists_erase_eq, heq.refl, list.erase_cons_tail, list.erase_cons_head, list.mem_of_mem_erase, mt, list.erase_append_right, list.erase_append_left, id_rhs, eq.rec, list.append, heq, eq.dcases_on, and.dcases_on, Exists.dcases_on, list.cons, list.has_append, has_append.append, and, Exists, list.decidable_mem, list.has_mem, has_mem.mem, not, trivial, eq_self_iff_true, propext, eq.refl, eq.drec, congr_arg, congr, eq.trans, id, true, eq.mpr, dite, list.erase, eq, list, decidable_eq]), (list.erase_cons, [rfl, ite, list.cons, list.erase, eq, list, decidable_eq]), (list.erase_cons_head, [trivial, propext, if_true, eq.refl, if_simp_congr, list.erase_cons, eq_self_iff_true, decidable_of_decidable_of_iff, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, list.cons, list.erase, eq, list, decidable_eq]), (list.erase_cons_tail, [trivial, and_self, eq_self_iff_true, propext, list.cons.inj_eq, if_false, eq.refl, if_simp_congr, list.erase_cons, iff_false_intro, decidable_of_decidable_of_iff, false, ite, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, list.erase, eq, ne, list, decidable_eq]), (list.erase_dup, [ne.decidable, ne, list.pw_filter, list, decidable_eq]), (list.erase_dup_cons_of_mem', [list.decidable_mem, not_not, list.forall_mem_ne, propext, ne.def, eq.refl, imp_congr_eq, forall_congr_eq, congr_arg, eq.trans, id, list.pw_filter, not, eq.mpr, ne.decidable, ne, list.pw_filter_cons_of_neg, list.cons, eq, list.erase_dup, list.has_mem, has_mem.mem, list, decidable_eq]), (list.erase_dup_cons_of_mem, [list.mem_erase_dup, iff.mpr, list.erase_dup_cons_of_mem', list.cons, list.erase_dup, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.erase_dup_cons_of_not_mem', [list.forall_mem_ne, propext, ne.def, eq.refl, imp_congr_eq, forall_congr_eq, eq.trans, id, list.pw_filter, eq.mpr, ne.decidable, ne, list.pw_filter_cons_of_pos, list.cons, eq, list.erase_dup, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.erase_dup_cons_of_not_mem, [list.mem_erase_dup, iff.mp, mt, list.erase_dup_cons_of_not_mem', list.cons, list.erase_dup, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.erase_dup_eq_self, [ne.decidable, ne, list.pw_filter_eq_self, list.nodup, list.erase_dup, eq, iff, list, decidable_eq]), (list.erase_of_not_mem, [trivial, and_self, eq_self_iff_true, list.cons.inj_eq, list.not_mem_of_not_mem_cons, true.intro, not_false_iff, list.ne_of_not_mem_cons, ne.symm, iff_false_intro, propext, ne.def, false, iff.refl, iff, eq.rec, ne, iff.mpr, list.erase_cons_tail, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, eq.refl, list.nil, list.rec, list.erase, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.erase_perm_erase, [list.mem_of_perm, iff.mpr, mt, list.erase_of_not_mem, eq.refl, eq.rec, eq, id, eq.mpr, not, list.perm_subset, list.perm_erase, list.perm.symm, list.cons, list.perm.trans, list.perm_cons_inv, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.erase, list.perm, list, decidable_eq]), (list.erase_sublist, [list.sublist.refl, true.intro, not_false_iff, iff_false_intro, not_congr, false, iff.trans, iff.mpr, list.erase_of_not_mem, congr_arg, congr, list.exists_erase_eq, heq.refl, trivial, list.sublist_cons, iff_true_intro, list.append_sublist_append_left, propext, eq.trans, id, true, eq.mpr, id_rhs, eq.refl, eq.rec, list.append, heq, eq.dcases_on, and.dcases_on, Exists.dcases_on, list.cons, list.has_append, has_append.append, eq, not, and, Exists, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.erase, list.sublist, list, decidable_eq]), (list.erase_sublist_erase, [heq.refl, list.sublist.cons2, pprod, punit, list.rec, pprod.fst, list.erase_cons_tail, not, list.erase_sublist, list.sublist.trans, list.erase_cons_head, eq.refl, id, eq.mpr, dite, list.sublist.cons, list.cons, eq.symm, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, list.below, list.brec_on, list.erase, list.sublist, list, decidable_eq]), (list.erase_subset, [list.erase_sublist, list.subset_of_sublist, list.erase, list.has_subset, has_subset.subset, list, decidable_eq]), (list.exists_erase_eq, [or.resolve_left, and_self, list.cons.inj_eq, list.cons_append, true.intro, not_false_iff, iff_false_intro, ne.def, false, iff.refl, iff, ne, iff.mpr, list.erase_cons_tail, eq.refl, ne.symm, list.not_mem_cons_of_ne_of_not_mem, id_rhs, and.dcases_on, Exists.dcases_on, list.mem_cons_iff, eq.mp, eq.symm, trivial, eq_self_iff_true, propext, list.nil_append, list.erase_cons_head, congr_arg, congr, eq.trans, id, true, eq.mpr, rfl, list.not_mem_nil, and.intro, Exists.intro, or, eq.rec, dite, false.dcases_on, list.nil, list.rec, list.erase, list.cons, list.has_append, has_append.append, eq, not, and, Exists, list.has_mem, has_mem.mem, list, decidable_eq]), (list.exists_mem_of_length_pos, [list.mem_cons_self, Exists.intro, id_rhs, list.cons, heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, eq, nat.less_than_or_equal, nat.succ, nat.less_than_or_equal.dcases_on, list.nil, list.cases_on, list.has_mem, has_mem.mem, Exists, list.length, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, list]), (list.exists_of_mem_map, [or_true, iff_true_intro, and.dcases_on, Exists.dcases_on, trivial, and_self, true_or, eq_self_iff_true, list.mem_cons_iff, id, true, eq.mpr, Exists.intro, list.eq_or_mem_of_mem_cons, or, or.dcases_on, list.cons, list.not_mem_nil, iff_false_intro, propext, list.map.equations._eqn_1, eq.refl, congr_arg, congr, has_mem, eq.trans, false, eq.mp, false.rec, list.nil, list.rec, eq, and, Exists, list.map, list.has_mem, has_mem.mem, list]), (list.exists_perm_append_of_sublist, [heq.refl, eq.refl, list.append, list.sublist.cons2, list.perm_middle, list.perm.symm, list.perm.skip, list.perm.trans, Exists.dcases_on, pprod, punit, list.rec, pprod.fst, list.sublist.cons, list.cons, eq.symm, list.perm.refl, Exists.intro, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, list.below, list.brec_on, list.has_append, has_append.append, list.perm, Exists, list.sublist, list]), (list.exists_perm_sublist, [list.perm.trans, list.perm.swap, heq.refl, eq.refl, list.perm.skip, list.sublist.cons2, id_rhs, Exists.dcases_on, list.sublist.cons, eq.symm, list.no_confusion, list.sublist.slnil, eq.rec, heq, eq, list.sublist.dcases_on, list.cons, list.nil_sublist, list.perm.refl, list.eq_nil_of_sublist_nil, eq.subst, Exists.intro, list.nil, list.perm.drec, Exists, list.perm, list.sublist, list]), (list.filter, [list.filter._main, list, decidable_pred]), (list.filter._main, [pprod, punit, list.rec, pprod.fst, ite, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, decidable_pred]), (list.filter._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.filter._main, list, eq, decidable_pred]), (list.filter._main.equations._eqn_2, [id_delta, eq.refl, ite, list.cons, list.filter._main, eq, list, decidable_pred]), (list.filter.equations._eqn_1, [list.filter._main.equations._eqn_1, list.nil, list.filter, list, eq, decidable_pred]), (list.filter.equations._eqn_2, [list.filter._main.equations._eqn_2, ite, list.cons, list.filter, eq, list, decidable_pred]), (list.filter_cons_of_neg, [if_neg, list.cons, list.filter, eq, not, list, decidable_pred]), (list.filter_cons_of_pos, [if_pos, list.cons, list.filter, eq, list, decidable_pred]), (list.filter_eq_self, [nat.lt_succ_self, list.filter_sublist, eq.rec, list.sublist, eq.mp, list.length_le_of_sublist, list.length, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, nat, not_lt_of_ge, ne, iff_false, false_and, if_false, list.forall_mem_cons', list.mem_cons_iff, or, true_and, list.cons.inj_eq, if_true, if_simp_congr, list.filter.equations._eqn_2, iff_true_intro, decidable_of_decidable_of_iff, ite, and, list.cons, dite, trivial, iff_self, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, list.not_mem_nil, iff_false_intro, imp_congr_eq, false, forall_congr_eq, eq_self_iff_true, propext, eq.refl, list.filter_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, list.filter, eq, iff, list, decidable_pred]), (list.filter_map, [list.filter_map._main, list, option]), (list.filter_map._main, [pprod, punit, list.rec, pprod.fst, list.filter_map._match_1, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, option]), (list.filter_map._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.filter_map._main, list, eq, option]), (list.filter_map._main.equations._eqn_2, [id_delta, eq.refl, list.filter_map._match_1, list.cons, list.filter_map._main, eq, list, option]), (list.filter_map._match_1, [list.cons, id_rhs, option.cases_on, option, list]), (list.filter_map._match_1.equations._eqn_1, [id_delta, eq.refl, option.none, list.filter_map._match_1, eq, list]), (list.filter_map._match_1.equations._eqn_2, [id_delta, eq.refl, list.cons, option.some, list.filter_map._match_1, eq, list]), (list.filter_map.equations._eqn_1, [list.filter_map._main.equations._eqn_1, list.nil, list.filter_map, list, eq, option]), (list.filter_map.equations._eqn_2, [list.filter_map._main.equations._eqn_2, list.filter_map._match_1, list.cons, list.filter_map, eq, list, option]), (list.filter_map_cons_none, [trivial, eq_self_iff_true, propext, list.filter_map._match_1.equations._eqn_1, eq.refl, list.filter_map.equations._eqn_2, list.filter_map._match_1, congr_arg, congr, eq.trans, id, true, eq.mpr, list.cons, list.filter_map, option.none, eq, list, option]), (list.filter_map_cons_some, [trivial, and_self, eq_self_iff_true, propext, list.cons.inj_eq, list.filter_map._match_1.equations._eqn_2, eq.refl, list.filter_map.equations._eqn_2, list.filter_map._match_1, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, list.filter_map, option.some, eq, list, option]), (list.filter_map_eq_filter, [not_false_iff, not_congr, iff.trans, list.filter_cons_of_neg, list.filter_map._match_1.equations._eqn_1, if_false, iff_false_intro, false, not, and_self, list.cons.inj_eq, true.intro, iff.mpr, list.filter_cons_of_pos, list.filter_map._match_1.equations._eqn_2, if_true, eq.refl, if_simp_congr, option.guard.equations._eqn_1, option.none, iff_true_intro, decidable_of_decidable_of_iff, ite, option, list.filter_map.equations._eqn_2, option.some, list.filter_map._match_1, and, list.cons, dite, trivial, eq_self_iff_true, propext, list.filter_nil, list.filter_map_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, funext, list.filter, option.guard, list.filter_map, list, eq, decidable_pred]), (list.filter_map_eq_map, [and_self, list.cons.inj_eq, list.map.equations._eqn_2, eq.refl, rfl, list.filter_map_cons_some, and, list.cons, trivial, eq_self_iff_true, propext, list.map.equations._eqn_1, list.filter_map_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, funext, list.map, option.some, option, function.comp, list.filter_map, list, eq]), (list.filter_map_nil, [rfl, list.nil, list.filter_map, list, eq, option]), (list.filter_map_sublist_filter_map, [list.sublist.cons2, true.intro, iff.mpr, list.sublist.cons, list.filter_map._match_1.equations._eqn_2, option.some, list.filter_map._match_1.equations._eqn_1, option.none, option.cases_on, list.filter_map.equations._eqn_2, eq.refl, list.filter_map._match_1, list.cons, trivial, list.sublist.refl, iff_true_intro, propext, list.filter_map.equations._eqn_1, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.sublist.drec, list.filter_map, list.sublist, list, option]), (list.filter_nil, [rfl, list.nil, list.filter, list, eq, decidable_pred]), (list.filter_sublist, [list.sublist.cons, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.filter_cons_of_neg, not, pprod, punit, list.rec, pprod.fst, list.sublist.cons2, eq.refl, true.intro, iff_true_intro, true, iff.mpr, list.filter_cons_of_pos, congr_arg, congr, eq, id, eq.mpr, dite, list.cons, list.sublist.slnil, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.filter, list.sublist, list, decidable_pred]), (list.filter_sublist_filter, [list.filter_map_sublist_filter_map, list.filter_map_eq_filter, eq.symm, eq.refl, eq.rec, eq, id, option.guard, list.filter_map, eq.mpr, list.filter, list.sublist, list, decidable_pred]), (list.filter_subset, [list.filter_sublist, list.subset_of_sublist, list.filter, list.has_subset, has_subset.subset, list, decidable_pred]), (list.find, [list.find._main, option, list, decidable_pred]), (list.find._main, [pprod, punit, list.rec, pprod.fst, option.some, ite, list.cons, option.none, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, option, list, decidable_pred]), (list.find_cons_of_neg, [option.some, if_neg, list.cons, list.find, option, eq, not, list, decidable_pred]), (list.find_cons_of_pos, [if_pos, option.some, list.cons, list.find, option, eq, list, decidable_pred]), (list.find_eq_none, [true_and, not_congr, iff.trans, list.find_cons_of_neg, false_and, not_true, list.forall_mem_cons', list.mem_cons_iff, or, and, option.no_confusion, eq_false_intro, iff_true_intro, list.find_cons_of_pos, option.some, list.cons, dite, trivial, iff_self, forall_true_iff, true.intro, not_false_iff, iff.mpr, forall_prop_of_false, list.not_mem_nil, iff_false_intro, imp_congr_eq, false, forall_congr_eq, eq_self_iff_true, propext, eq.refl, list.find_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, not, list.has_mem, has_mem.mem, option.none, list.find, option, eq, iff, list, decidable_pred]), (list.find_index, [list.find_index._main, nat, list, decidable_pred]), (list.find_index._main, [pprod, punit, list.rec, pprod.fst, nat.succ, ite, list.cons, nat.has_zero, has_zero.zero, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, nat, list, decidable_pred]), (list.find_mem, [not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.find_cons_of_neg, list.mem_cons_of_mem, not, option.some.inj_eq, eq.refl, true.intro, iff_true_intro, true, iff.mpr, list.find_cons_of_pos, congr_arg, congr, eq.trans, eq.mp, eq.symm, list.mem_cons_self, eq.rec, dite, list.cons, option.no_confusion, list.nil, list.rec, list.has_mem, has_mem.mem, option.some, list.find, option, eq, list, decidable_pred]), (list.find_nil, [rfl, option.none, list.nil, list.find, option, eq, decidable_pred]), (list.find_some, [not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.find_cons_of_neg, not, option.some.inj_eq, eq.refl, true.intro, iff_true_intro, true, iff.mpr, list.find_cons_of_pos, congr_arg, congr, eq.trans, eq.mp, eq.symm, eq.rec, dite, list.cons, option.no_confusion, list.nil, list.rec, option.some, list.find, option, eq, list, decidable_pred]), (list.foldl, [list.foldl._main, list]), (list.foldl._main, [pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.foldl_append, [trivial, eq_self_iff_true, propext, pprod, punit, list.rec, pprod.fst, list.foldl_cons, list.cons_append, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.foldl, eq, list]), (list.foldl_assoc, [pprod, punit, list.rec, pprod.fst, eq.rec, is_associative.assoc, list.foldl_cons, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.foldl_nil, congr_arg, congr, eq.trans, id, true, eq.mpr, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.foldl, eq, list, is_associative]), (list.foldl_cons, [rfl, list.cons, list.foldl, eq, list]), (list.foldl_eq_of_perm, [eq.refl, eq.rec, list.foldl_cons, eq.trans, congr_arg, congr, id, list.cons, eq.mpr, list.nil, rfl, list.perm_induction_on, list.foldl, eq, list.perm, right_commutative, list]), (list.foldl_nil, [rfl, list.nil, list.foldl, eq]), (list.foldl_reverse, [list.foldr.equations._eqn_2, list.foldl_cons, list.foldl_append, list.reverse_cons, list.has_append, has_append.append, list.cons, trivial, eq_self_iff_true, propext, list.foldr.equations._eqn_1, list.foldl_nil, list.reverse_nil, eq.refl, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.foldr, list.reverse, list.foldl, eq, list]), (list.foldr, [list.foldr._main, list]), (list.foldr._main, [pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.foldr._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.foldr._main, eq]), (list.foldr._main.equations._eqn_2, [id_delta, eq.refl, list.cons, list.foldr._main, eq, list]), (list.foldr.equations._eqn_1, [list.foldr._main.equations._eqn_1, list.nil, list.foldr, eq]), (list.foldr.equations._eqn_2, [list.foldr._main.equations._eqn_2, list.cons, list.foldr, eq, list]), (list.foldr_cons, [rfl, list.cons, list.foldr, eq, list]), (list.foldr_eq_of_perm, [eq.trans, eq.refl, eq.rec, list.foldr_cons, congr_arg, congr, id, list.cons, eq.mpr, list.nil, rfl, list.perm_induction_on, list.foldr, eq, list.perm, left_commutative, list]), (list.foldr_reverse, [list.reverse_reverse, eq.mp, eq.refl, eq.rec, id, eq.mpr, list.foldl_reverse, list.foldl, list.reverse, list.foldr, eq, list]), (list.forall_mem_cons', [trivial, iff_self, eq.refl, forall_eq, forall_and_distrib, or_imp_distrib, propext, forall_congr_eq, congr_arg, congr, eq.trans, id, true, eq.mpr, and, list.has_mem, has_mem.mem, eq, or, iff, list]), (list.forall_mem_cons, [trivial, iff_self, list.forall_mem_cons', eq.refl, list.mem_cons_iff, propext, imp_congr_eq, forall_congr_eq, or, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, and, list.cons, list.has_mem, has_mem.mem, iff, list]), (list.forall_mem_ne, [eq.symm, eq.subst, rfl, iff.intro, eq, not, list.has_mem, has_mem.mem, iff, list]), (list.forall_mem_pw_filter, [list.pw_filter_subset, ball.imp_left, rfl, list.find_some, list.find_mem, or.resolve_right, option.some, list.find_eq_none, not_not, iff.mp, ball.imp_right, not.elim, option.none, option.cases_on, not.decidable, list.find, option, list.pw_filter_cons_of_neg, eq.rec, and.intro, and_imp, list.pw_filter_cons_of_pos, list.decidable_forall_mem, dite, list.forall_mem_cons', list.mem_cons_iff, and, list.cons, trivial, forall_prop_of_true, forall_true_iff, not_false_iff, not, iff.mpr, forall_prop_of_false, list.not_mem_nil, iff_false_intro, propext, list.pw_filter_nil, eq.refl, congr_arg, congr, has_mem, false, forall_congr_eq, imp_congr_eq, true.intro, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, iff.intro, list.pw_filter, list.has_mem, has_mem.mem, iff, list, or, decidable_rel]), (list.has_append, [list.append, has_append.mk, list, has_append]), (list.has_insert, [list.insert, has_insert.mk, list, has_insert, decidable_eq]), (list.has_mem, [list.mem, has_mem.mk, list, has_mem]), (list.has_subset, [list.subset, has_subset.mk, list, has_subset]), (list.has_union, [list.union, has_union.mk, list, has_union, decidable_eq]), (list.index_of, [eq, list.find_index, nat, list, decidable_eq]), (list.index_of_cons, [rfl, nat.succ, nat.has_zero, has_zero.zero, ite, list.cons, list.index_of, nat, eq, list, decidable_eq]), (list.index_of_cons_eq, [list.find_index, nat.succ, if_pos, nat.has_zero, has_zero.zero, list.cons, list.index_of, nat, eq, list, decidable_eq]), (list.index_of_cons_ne, [list.find_index, nat.has_zero, has_zero.zero, if_neg, nat.succ, list.cons, list.index_of, nat, eq, ne, list, decidable_eq]), (list.index_of_cons_self, [rfl, list.index_of_cons_eq, nat.has_zero, has_zero.zero, list.cons, list.index_of, nat, eq, list, decidable_eq]), (list.index_of_eq_length, [nat.succ_inj, iff.intro, eq.symm, false_or, true.intro, ne.def, iff.refl, eq.rec, ne, iff.mpr, list.index_of_cons_ne, nat.succ, nat.no_confusion, iff_false, not_true, true_or, has_mem, list.index_of_cons_self, eq.drec, dite, list.mem_cons_iff, list.length.equations._eqn_2, eq.refl, or, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, trivial, iff_self, not_false_iff, list.not_mem_nil, iff_false_intro, false, eq_self_iff_true, propext, list.length.equations._eqn_1, list.index_of_nil, nat.has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, not, list.length, list.index_of, nat, eq, iff, list, decidable_eq]), (list.index_of_le_length, [nat.succ_le_succ, if_false, trivial, nat.zero_le, iff_true_intro, if_true, eq.drec, if_simp_congr, eq_self_iff_true, propext, eq.refl, iff.refl, iff, eq.rec, decidable_of_decidable_of_iff, dite, list.length.equations._eqn_2, list.index_of_cons, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, ite, list.cons, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, list.length.equations._eqn_1, true.intro, not_false_iff, list.not_mem_nil, iff_false_intro, not_congr, false, iff.trans, true, list.has_mem, has_mem.mem, not, iff.mpr, list.index_of_of_not_mem, eq.trans, congr_arg, congr, has_le, eq, id, nat.has_zero, has_zero.zero, list.nil, eq.mpr, list.rec, list.length, list.index_of, nat.has_le, nat, has_le.le, list, decidable_eq]), (list.index_of_lt_length, [iff.mp, list.index_of_le_length, lt_of_le_of_ne, list.index_of_eq_length, eq, iff.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, not, list.decidable_mem, by_contradiction, iff.intro, list.has_mem, has_mem.mem, list.length, list.index_of, nat.has_lt, nat, has_lt.lt, iff, list, decidable_eq]), (list.index_of_nil, [rfl, nat.has_zero, has_zero.zero, list.nil, list.index_of, nat, eq, decidable_eq]), (list.index_of_nth, [list.index_of_nth_le, list.nth_le_nth, eq.refl, eq.rec, id, list.index_of_lt_length, list.length, nat.has_lt, nat, has_lt.lt, iff.mpr, list.nth_le, eq.mpr, option.some, list.index_of, list.nth, option, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.index_of_nth_le, [pprod, punit, list.rec, pprod.fst, list.nth_le.equations._eqn_3, true.intro, not_false_iff, iff_false_intro, ne.def, false, iff.refl, iff, ne, iff.mpr, list.index_of_cons_ne, list.nth_le._main._proof_1, not, trivial, eq_self_iff_true, propext, list.nth_le.equations._eqn_2, list.index_of_cons_self, eq.drec, eq.rec, nat.has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, eq.mpr, dite, id_rhs, list.cons, heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, nat.less_than_or_equal, nat.succ, nat.less_than_or_equal.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.nth_le, eq, list.length, list.index_of, nat.has_lt, nat, has_lt.lt, list, decidable_eq]), (list.index_of_of_not_mem, [list.index_of_eq_length, iff.mpr, list.length, list.index_of, nat, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.infix_of_suffix, [trivial, eq_self_iff_true, propext, list.append_nil, eq.refl, has_append, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, Exists.intro, Exists, id_rhs, list.has_append, has_append.append, eq, Exists.dcases_on, list.is_infix, list.is_suffix, list]), (list.inhabited, [list.nil, inhabited.mk, list, inhabited]), (list.insert, [list.cons, list.decidable_mem, list.has_mem, has_mem.mem, ite, list, decidable_eq]), (list.insert.def, [rfl, list.cons, list.decidable_mem, list.has_mem, has_mem.mem, ite, list.has_insert, insert, eq, list, decidable_eq]), (list.insert_of_mem, [trivial, eq_self_iff_true, propext, if_true, eq.refl, if_simp_congr, list.insert.def, list.cons, iff_true_intro, list.decidable_mem, decidable_of_decidable_of_iff, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, list.has_insert, insert, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.insert_of_not_mem, [trivial, and_self, eq_self_iff_true, propext, list.cons.inj_eq, if_false, eq.refl, if_simp_congr, list.insert.def, iff_false_intro, list.decidable_mem, decidable_of_decidable_of_iff, false, ite, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, list.has_insert, insert, eq, list.has_mem, has_mem.mem, not, list, decidable_eq]), (list.is_infix, [list.has_append, has_append.append, eq, Exists, list]), (list.is_suffix, [list.has_append, has_append.append, eq, Exists, list]), (list.join, [list.join._main, list]), (list.join._main, [pprod, punit, list.rec, pprod.fst, list.has_append, has_append.append, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.join._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.join._main, list, eq]), (list.join._main.equations._eqn_2, [id_delta, eq.refl, list.has_append, has_append.append, list.cons, list.join._main, eq, list]), (list.join.equations._eqn_1, [list.join._main.equations._eqn_1, list.nil, list.join, list, eq]), (list.join.equations._eqn_2, [list.join._main.equations._eqn_2, list.has_append, has_append.append, list.cons, list.join, eq, list]), (list.le_count_iff_repeat_sublist, [list.count_le_of_sublist, list.count_repeat, has_le, eq.mp, list.of_mem_filter, trivial, eq_self_iff_true, propext, list.countp_eq_length_filter, list.count.equations._eqn_1, congr_fun, list.countp, congr_arg, congr, eq.trans, true, and.intro, list.eq_repeat, list.has_mem, has_mem.mem, list.length, and, list.filter_sublist, eq.symm, eq.refl, eq.rec, id, eq.mpr, list.filter, eq, list.repeat_sublist_repeat, iff.mpr, list.sublist.trans, iff.intro, list.repeat, list.sublist, list.count, nat.has_le, has_le.le, iff, nat, list, decidable_eq]), (list.length, [list.length._main, nat, list]), (list.length._main, [nat.has_one, has_one.one, pprod, punit, list.rec, pprod.fst, nat.has_add, has_add.add, list.cons, nat.has_zero, has_zero.zero, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, nat, list]), (list.length._main.equations._eqn_1, [id_delta, eq.refl, nat.has_zero, has_zero.zero, list.nil, list.length._main, nat, eq]), (list.length._main.equations._eqn_2, [id_delta, eq.refl, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, list.length._main, nat, eq, list]), (list.length.equations._eqn_1, [list.length._main.equations._eqn_1, nat.has_zero, has_zero.zero, list.nil, list.length, nat, eq]), (list.length.equations._eqn_2, [list.length._main.equations._eqn_2, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, list.length, nat, eq, list]), (list.length_append, [add_left_comm, add_comm, list.length.equations._eqn_2, list.cons_append, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, list.cons, trivial, eq_self_iff_true, propext, nat.add_monoid, zero_add, eq.refl, list.length.equations._eqn_1, has_add, nat.has_zero, has_zero.zero, list.nil_append, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, nat.has_add, has_add.add, list.has_append, has_append.append, list.length, nat, eq, list]), (list.length_erase_of_mem, [list.exists_erase_eq, heq.refl, list.length.equations._eqn_2, has_add, eq.trans, list.length_append, congr_arg, congr, id, nat.has_one, has_one.one, nat.has_add, has_add.add, eq.mpr, id_rhs, eq.refl, eq.rec, list.append, heq, eq.dcases_on, and.dcases_on, Exists.dcases_on, list.cons, list.has_append, has_append.append, not, and, Exists, nat.pred, list.erase, list.length, nat, eq, list.has_mem, has_mem.mem, list, decidable_eq]), (list.length_le_of_sublist, [heq.refl, eq.refl, nat.succ_le_succ, list.sublist.cons2, pprod, punit, list.rec, pprod.fst, nat.le_succ_of_le, nat.succ, list.sublist.cons, list.cons, eq.symm, le_refl, nat.has_zero, has_zero.zero, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, list.below, list.brec_on, list.length, nat.has_le, nat, has_le.le, list.sublist, list]), (list.length_le_of_subperm, [list.length_le_of_sublist, list.perm_length, eq.subst, id_rhs, list.sublist, list.perm, Exists, Exists.dcases_on, list.length, nat.has_le, nat, has_le.le, list.subperm, list]), (list.length_map, [add_comm, eq.refl, has_add, list.length.equations._eqn_2, list.map.equations._eqn_2, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, trivial, eq_self_iff_true, propext, list.length.equations._eqn_1, list.map.equations._eqn_1, congr_arg, congr, nat.has_zero, has_zero.zero, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.map, list.length, nat, eq, list]), (list.length_pmap, [add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_comm, eq.refl, has_add, list.length.equations._eqn_2, list.pmap.equations._eqn_2, list.pmap._main._proof_1, list.pmap._main._proof_2, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.has_add, has_add.add, nat.has_one, has_one.one, list.cons, trivial, eq_self_iff_true, propext, list.length.equations._eqn_1, list.pmap.equations._eqn_1, congr_arg, congr, nat.has_zero, has_zero.zero, eq.trans, id, true, eq.mpr, list.nil, list.rec, list.pmap, list.length, nat, eq, list.has_mem, has_mem.mem, list]), (list.length_pos_iff_exists_mem, [list.length_pos_of_mem, id_rhs, Exists.dcases_on, list.exists_mem_of_length_pos, iff.intro, list.has_mem, has_mem.mem, Exists, list.length, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, list]), (list.length_pos_of_mem, [nat.zero_lt_succ, nat.succ, id_rhs, list.cons, false.dcases_on, list.nil, list.cases_on, list.length, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, list.has_mem, has_mem.mem, list]), (list.length_range', [pprod, punit, nat.rec, pprod.fst, congr_arg, nat.add, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, list.range', list.length, eq, nat]), (list.length_range, [trivial, eq_self_iff_true, propext, eq.refl, list.length_range', list.range_eq_range', list, nat.has_zero, has_zero.zero, list.range', congr_arg, congr, eq.trans, id, true, eq.mpr, list.range, list.length, eq, nat]), (list.length_repeat, [has_add, list.length.equations._eqn_2, list.repeat.equations._eqn_2, list.cons, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, list.length.equations._eqn_1, list.repeat.equations._eqn_1, nat.nat_zero_eq_zero, eq.refl, list, list.nil, congr_arg, congr, nat.has_zero, has_zero.zero, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, list.repeat, list.length, eq, nat]), (list.map, [list.map._main, list]), (list.map._main, [pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.map._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.map._main, list, eq]), (list.map._main.equations._eqn_2, [id_delta, eq.refl, list.cons, list.map._main, eq, list]), (list.map.equations._eqn_1, [list.map._main.equations._eqn_1, list.nil, list.map, list, eq]), (list.map.equations._eqn_2, [list.map._main.equations._eqn_2, list.cons, list.map, eq, list]), (list.map_append, [and_self, list.cons.inj_eq, list.map.equations._eqn_2, list.cons_append, and, list.cons, trivial, eq_self_iff_true, propext, list.map.equations._eqn_1, has_append, list.nil_append, eq.refl, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.has_append, has_append.append, list.map, eq, list]), (list.map_congr, [list.mem_cons_self, list.mem_cons_of_mem, function.comp, pprod, punit, list.rec, pprod.fst, trivial, and_self, eq_self_iff_true, propext, list.cons.inj_eq, eq.refl, congr_arg, congr, and, eq.trans, id, true, eq.mpr, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.map, eq, list.has_mem, has_mem.mem, list]), (list.map_const, [and_self, list.cons.inj_eq, list.repeat.equations._eqn_2, list.length.equations._eqn_2, nat.has_one, has_one.one, nat.has_add, has_add.add, list.map.equations._eqn_2, and, list.cons, trivial, eq_self_iff_true, propext, list.repeat.equations._eqn_1, list.length.equations._eqn_1, eq.refl, nat.has_zero, nat, has_zero.zero, list.map.equations._eqn_1, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.length, list.repeat, function.const, list.map, eq, list]), (list.map_id, [and_self, list.cons.inj_eq, id.def, list.map.equations._eqn_2, and, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.map.equations._eqn_1, congr_arg, congr, eq.trans, true, list.nil, eq.mpr, list.rec, id, list.map, eq, list]), (list.map_map, [and_self, list.cons.inj_eq, function.comp_app, list.map.equations._eqn_2, and, list.cons, trivial, eq_self_iff_true, propext, list.map.equations._eqn_1, eq.refl, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, function.comp, list.map, eq, list]), (list.map_pmap, [and_self, list.cons.inj_eq, list.map.equations._eqn_2, list.pmap.equations._eqn_2, list.pmap._main._proof_2, list.pmap._main._proof_1, and, list.cons, trivial, eq_self_iff_true, propext, list.map.equations._eqn_1, list.pmap.equations._eqn_1, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, list.rec, list.pmap, list.map, eq, list.has_mem, has_mem.mem, list]), (list.mem, [list.mem._main, list]), (list.mem._main, [pprod, punit, list.rec, pprod.fst, eq, or, list.cons, false, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.mem_append, [or_assoc, list.mem_cons_iff, list.cons_append, list.cons, trivial, iff_self, false_or, list.not_mem_nil, iff_false_intro, propext, false, list.nil_append, eq.refl, has_mem, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, or, list.has_append, has_append.append, list.has_mem, has_mem.mem, iff, list]), (list.mem_attach, [and.dcases_on, Exists.dcases_on, list.attach_map_val, eq.refl, eq.rec, id, eq.mpr, list.mem_map, list.map, iff.mp, subtype.mk, subtype.val, eq, and, Exists, id_rhs, subtype.cases_on, list.attach, list.has_mem, has_mem.mem, subtype, list]), (list.mem_cons_iff, [iff.rfl, eq, or, list.cons, list.has_mem, has_mem.mem, iff, list]), (list.mem_cons_of_mem, [list.mem, eq, or.inr, list.cons, list.has_mem, has_mem.mem, list]), (list.mem_cons_self, [rfl, list.mem, eq, or.inl, list.cons, list.has_mem, has_mem.mem, list]), (list.mem_erase_dup, [and.rec, mt, not_and_distrib, or, and, iff.mp, list.forall_mem_pw_filter, not_congr, list.decidable_mem, not_not, list.forall_mem_ne, propext, ne.def, eq.refl, imp_congr_eq, forall_congr_eq, eq.trans, congr_arg, congr, eq, ne.decidable, ne, list.pw_filter, not, eq.mp, list.erase_dup, list.has_mem, has_mem.mem, iff, list, decidable_eq]), (list.mem_erase_of_ne, [trivial, iff_true_intro, true.intro, not_false_iff, not_congr, iff.trans, iff.mpr, list.erase_of_not_mem, has_mem, true, list.exists_erase_eq, heq.refl, false_or, iff_false_intro, list.mem_cons_iff, false, congr_arg, congr, eq.trans, eq.mp, list.mem_append, propext, id, or, eq.mpr, id_rhs, eq.refl, eq.rec, list.append, heq, eq.dcases_on, and.dcases_on, Exists.dcases_on, list.cons, list.has_append, has_append.append, eq, not, and, Exists, list.decidable_mem, dite, list.mem_of_mem_erase, iff.intro, list.erase, list.has_mem, has_mem.mem, iff, ne, list, decidable_eq]), (list.mem_filter, [list.mem_filter_of_mem, id_rhs, and.dcases_on, list.of_mem_filter, list.mem_of_mem_filter, and.intro, iff.intro, and, list.filter, list.has_mem, has_mem.mem, iff, list, decidable_pred]), (list.mem_filter_map, [rfl, eq.symm, eq.subst, eq.mp, option.some.inj_arrow, iff.intro, list.filter_map_cons_some, false_or, option.no_confusion, eq.rec, ne, exists_eq_left, exists_or_distrib, or_and_distrib_right, list.mem_cons_iff, or, list.filter_map_cons_none, option.none, list.cons, option.cases_on, trivial, iff_self, exists_false, false_and, funext, list.not_mem_nil, iff_false_intro, propext, list.filter_map_nil, eq.refl, has_mem, congr_arg, congr, false, eq.trans, id, true, list.nil, eq.mpr, list.rec, option.some, eq, and, Exists, list.filter_map, list.has_mem, has_mem.mem, iff, list, option]), (list.mem_filter_of_mem, [not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.filter_cons_of_neg, not, or_true, pprod, punit, list.rec, pprod.fst, dite, heq.refl, eq.symm, trivial, true_or, eq_self_iff_true, list.mem_cons_iff, propext, true.intro, iff_true_intro, iff.mpr, list.filter_cons_of_pos, congr_arg, congr, has_mem, or, eq.trans, id, true, eq.mpr, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, list.mem, eq, or.dcases_on, list.cons, false.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.filter, list.has_mem, has_mem.mem, list, decidable_pred]), (list.mem_insert_iff, [trivial, iff_self, list.mem_cons_iff, propext, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons, eq.trans, not, eq.symm, eq.subst, or_iff_right_of_imp, iff.symm, true.intro, iff_true_intro, true, iff.mpr, list.insert_of_mem, eq.refl, has_mem, congr_arg, congr, id, eq.mpr, list.decidable_mem, dite, eq, or, list.has_insert, insert, list.has_mem, has_mem.mem, iff, list, decidable_eq]), (list.mem_join, [trivial, iff_self, exists_eq_left, exists_or_distrib, or_and_distrib_right, list.mem_cons_iff, funext, pprod, punit, list.rec, pprod.fst, list.mem_append, propext, list.join.equations._eqn_2, eq.refl, has_mem, list.has_append, has_append.append, congr_arg, congr, or, eq.trans, eq, id, true, eq.mpr, list.cons, and.dcases_on, Exists.dcases_on, false.elim, iff.intro, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, and, Exists, list.join, list.has_mem, has_mem.mem, iff, list]), (list.mem_map, [list.mem_map_of_mem, eq.symm, eq.refl, eq.rec, id, eq.mpr, id_rhs, and.dcases_on, Exists.dcases_on, list.exists_of_mem_map, iff.intro, eq, and, Exists, list.map, list.has_mem, has_mem.mem, iff, list]), (list.mem_map_of_mem, [or.inr, trivial, true_or, eq_self_iff_true, true, or.dcases_on, list.mem_cons_iff, list.map.equations._eqn_2, eq.refl, congr_arg, congr, has_mem, eq.trans, id, eq, or, eq.mpr, list.cons, list.not_mem_nil, iff_false_intro, propext, false, eq.mp, false.rec, list.nil, list.rec, list.map, list.has_mem, has_mem.mem, list]), (list.mem_nil_iff, [iff.rfl, false, list.nil, list.has_mem, list, has_mem.mem, iff]), (list.mem_of_mem_erase, [list.erase_subset, list.erase, list.has_mem, has_mem.mem, list, decidable_eq]), (list.mem_of_mem_filter, [list.filter_subset, list.filter, list.has_mem, has_mem.mem, list, decidable_pred]), (list.mem_of_ne_of_mem, [absurd, list.eq_or_mem_of_mem_cons, eq, or.elim, list.cons, list.has_mem, has_mem.mem, ne, list]), (list.mem_of_perm, [list.perm.symm, list.perm_subset, iff.intro, list.has_mem, has_mem.mem, iff, list.perm, list]), (list.mem_pmap, [trivial, iff_self, subtype.exists, true_and, list.mem_attach, iff_true_intro, funext, list.mem_map, propext, list.pmap_eq_map_attach, eq.refl, has_mem, list.map, list.attach, and, subtype, congr_arg, congr, subtype.property, subtype.mk, subtype.val, eq.trans, id, true, eq.mpr, eq, Exists, list.pmap, iff, list.has_mem, has_mem.mem, list]), (list.mem_range', [nat.le_add_right, nat.lt_succ_of_le, eq.subst, le_iff_eq_or_lt, iff.symm, eq_comm, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, iff_self, or_iff_right_of_imp, or_and_distrib_left, add_left_comm, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, pprod, punit, nat.rec, nat.add, pprod.fst, list.mem_cons_iff, list.range'.equations._eqn_2, list.cons, or, nat.has_one, has_one.one, nat.succ, trivial, imp_self, not_lt, preorder.to_has_le, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, imp_congr_eq, not_and, false_iff, nat.add_monoid, add_zero, has_lt, list.not_mem_nil, iff_false_intro, propext, list.range'.equations._eqn_1, eq.refl, has_mem, list.nil, congr_arg, congr, false, not, eq.trans, eq, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, and, list.range', list.has_mem, list, has_mem.mem, iff, nat]), (list.mem_range, [trivial, iff_self, true_and, nat.add_monoid, zero_add, has_lt, nat.zero_le, iff_true_intro, list.mem_range', propext, list.range_eq_range', eq.refl, has_mem, list.range', nat.has_add, has_add.add, nat.has_zero, has_zero.zero, nat.has_le, has_le.le, and, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, nat.has_lt, has_lt.lt, list.range, list.has_mem, list, has_mem.mem, iff, nat]), (list.mem_singleton_self, [list.mem_cons_self, list.nil, list.cons, list.has_mem, list, has_mem.mem]), (list.mem_split, [eq.symm, Exists.dcases_on, rfl, Exists.intro, eq.rec, list.mem_cons_iff, or, or.dcases_on, list.not_mem_nil, iff_false_intro, propext, eq.mp, false, false.dcases_on, list.nil, list.rec, list.cons, list.has_append, has_append.append, eq, Exists, list.has_mem, has_mem.mem, list]), (list.mem_union, [or_assoc, list.mem_cons_iff, list.mem_insert_iff, list.cons_union, list.has_insert, insert, list.cons, trivial, iff_self, false_or, list.not_mem_nil, iff_false_intro, propext, false, list.nil_union, eq.refl, has_mem, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, or, list.has_union, has_union.union, list.has_mem, has_mem.mem, iff, list, decidable_eq]), (list.ne_of_not_mem_cons, [or.inl, false, list.mem, or, absurd, eq, ne, list.cons, list.has_mem, has_mem.mem, not, list]), (list.nil, [list]), (list.nil_append, [rfl, list.nil, list.has_append, has_append.append, eq, list]), (list.nil_bag_inter, [list.cons, eq.refl, list.cases_on, list.nil, list.bag_inter, eq, list, decidable_eq]), (list.nil_sublist, [pprod, punit, list.rec, pprod.fst, list.sublist.cons, list.cons, list.sublist.slnil, id_rhs, list.cases_on, list.below, list.brec_on, list.nil, list.sublist, list]), (list.nil_union, [rfl, list.nil, list.has_union, has_union.union, eq, list, decidable_eq]), (list.no_confusion, [eq.refl, list.cases_on, eq.rec, list.no_confusion_type, eq, list]), (list.no_confusion_type, [eq, list.cases_on, list]), (list.nodup, [ne, list.pairwise, list]), (list.nodup.equations._eqn_1, [eq.refl, ne, list.pairwise, list.nodup, list, eq]), (list.nodup_attach, [eq.symm, list.nodup_of_nodup_map, subtype.eq, list.nodup_map, list.attach_map_val, subtype.val, list.map, eq.subst, iff.intro, list.attach, list.has_mem, has_mem.mem, subtype, list.nodup, iff, list]), (list.nodup_bind, [iff.refl, trivial, iff_self, forall_eq', true, forall_congr, forall_swap, iff.trans, eq.rec, list.pairwise_map, and_imp, exists_imp_distrib, eq.refl, and_comm, funext, list.mem_map, imp_congr_eq, Exists, forall_congr_eq, list.nodup_join, propext, list.bind.equations._eqn_1, list.join, list.map, eq.trans, congr_arg, congr, id, eq, eq.mpr, list.disjoint, list.pairwise, list.has_mem, has_mem.mem, and, list.bind, list.nodup, iff, list]), (list.nodup_cons, [trivial, iff_self, list.forall_mem_ne, ne.def, eq.refl, imp_congr_eq, forall_congr_eq, list.pairwise_cons, propext, list.nodup.equations._eqn_1, congr_fun, congr_arg, congr, ne, list.pairwise, eq.trans, eq, id, true, eq.mpr, list.has_mem, has_mem.mem, not, and, list.cons, list.nodup, iff, list]), (list.nodup_cons_of_nodup, [and.intro, list.nodup_cons, and, iff.mpr, list.cons, list.nodup, list.has_mem, has_mem.mem, not, list]), (list.nodup_erase_dup, [ne.decidable, ne, list.pairwise_pw_filter, list.erase_dup, list.nodup, list, decidable_eq]), (list.nodup_erase_eq_filter, [and_self, list.cons.inj_eq, not_false_iff, iff_false_intro, and, eq.symm, eq_comm, imp_congr_eq, forall_congr_eq, list.filter_eq_self, iff.mpr, if_false, not_true, not_congr, iff.trans, false, if_true, if_simp_congr, iff.refl, iff, decidable_of_decidable_of_iff, dite, list.filter.equations._eqn_2, list.erase.equations._eqn_2, ite, list.cons, list.pairwise, list.has_mem, has_mem.mem, trivial, eq_self_iff_true, propext, list.filter.equations._eqn_1, eq.refl, eq.drec, ne.def, funext, decidable_pred, eq.rec, not, list.erase.equations._eqn_1, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.pairwise.drec, ne.decidable, ne, list.filter, list.erase, eq, list.nodup, list, decidable_eq]), (list.nodup_filter, [ne, list.pairwise_filter_of_pairwise, list.filter, list.nodup, list, decidable_pred]), (list.nodup_filter_map, [eq.subst, ne, list.pairwise_filter_map_of_pairwise, list.filter_map, list.nodup, eq, option.has_mem, has_mem.mem, list, option]), (list.nodup_iff_count_le_one, [list.le_count_iff_repeat_sublist, list.repeat, nat.has_add, bit0, iff.symm, nat.linear_order, not_lt, not_congr, nat.has_lt, has_lt.lt, forall_congr, list.nodup_iff_sublist, list.nil, list.cons, list.sublist, not, iff.trans, nat.has_one, has_one.one, list.count, nat.has_le, nat, has_le.le, list.nodup, iff, list, decidable_eq]), (list.nodup_iff_nth_le_inj, [ne_of_lt, eq.symm, lt_trichotomy, or, or.resolve_left, nat.linear_order, linear_order.to_partial_order, or.resolve_right, iff.intro, list.pairwise_iff_nth_le, lt_trans, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, ne, list.pairwise, iff.trans, list.nth_le, eq, list.length, nat.has_lt, has_lt.lt, nat, list.nodup, iff, list]), (list.nodup_iff_sublist, [list.sublist_cons_of_sublist, list.singleton_sublist, iff.mpr, list.cons_sublist_cons, list.has_mem, has_mem.mem, list.nodup_cons_of_nodup, trivial, list.nodup_nil, iff_true_intro, propext, eq, id, true, eq.mpr, list.rec, list.nodup_of_sublist, list.not_nodup_pair, iff.intro, list.nil, list.cons, list.sublist, not, list.nodup, iff, list]), (list.nodup_insert, [and_self, congr, list.nodup_cons, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons, and, not, trivial, propext, true.intro, iff_true_intro, iff.mpr, list.insert_of_mem, congr_arg, eq.trans, eq, id, true, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.has_insert, insert, list.nodup, list, decidable_eq]), (list.nodup_join, [trivial, iff_self, list.disjoint_left, iff.symm, list.forall_mem_ne, ne.def, imp_congr_eq, forall_congr_eq, not, funext, eq.refl, list.pairwise_join, propext, list.nodup.equations._eqn_1, congr_fun, congr_arg, congr, ne, eq.trans, eq, id, true, eq.mpr, list.disjoint, list.pairwise, list.has_mem, has_mem.mem, and, list.join, list.nodup, iff, list]), (list.nodup_map, [eq, list.has_mem, has_mem.mem, list.nodup_map_on, list.map, list.nodup, function.injective, list]), (list.nodup_map_on, [list.pairwise.and_mem, list.pairwise, iff.mp, false, id_rhs, and.dcases_on, ne, and, list.pairwise_map_of_pairwise, list.map, list.nodup, eq, list.has_mem, has_mem.mem, list]), (list.nodup_nil, [ne, list.pairwise.nil, list.nil, list.nodup]), (list.nodup_of_nodup_map, [congr_arg, eq, mt, ne, list.pairwise_of_pairwise_map, list.map, list.nodup, list]), (list.nodup_of_sublist, [ne, list.pairwise_of_sublist, list.nodup, list.sublist, list]), (list.nodup_pmap, [list.nodup_attach, iff.mpr, eq.drec, subtype.mk, id_rhs, subtype.cases_on, list.nodup_map, list.pmap_eq_map_attach, eq.refl, eq.rec, id, list.attach, subtype.property, subtype.val, subtype, list.map, eq.mpr, list.pmap, list.nodup, eq, list.has_mem, has_mem.mem, list]), (list.nodup_product, [absurd, prod.mk.inj_arrow, eq.rec, ne.def, not, eq.mp, and_imp, forall_congr_eq, exists_imp_distrib, eq.refl, list.mem_map, propext, imp_congr_eq, Exists, eq.trans, id, false, eq.mpr, eq, ne, list.pairwise.imp, rfl, prod.snd, function.injective_of_left_inverse, list.nodup_map, and.intro, list.nodup_bind, list.disjoint, list.pairwise, list.has_mem, has_mem.mem, and, prod.mk, list.map, list.bind, iff.mpr, list.product, prod, list.nodup, list]), (list.nodup_range', [list.pairwise_lt_range', nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, ne, nat.has_lt, has_lt.lt, list.pairwise.imp, list.range', list.nodup, nat]), (list.nodup_range, [trivial, list.nodup_range', iff_true_intro, propext, list.range_eq_range', congr_arg, list, nat.has_zero, has_zero.zero, list.range', eq.trans, eq, id, true, eq.mpr, list.range, list.nodup, nat]), (list.nodup_singleton, [list.nodup_nil, list.not_mem_nil, list.nodup_cons_of_nodup, list.nil, list.cons, list.nodup]), (list.nodup_union, [list.nodup_insert, list.cons_union, congr_arg, eq, id, list.has_insert, insert, list.cons, eq.mpr, list.rec, list.has_union, has_union.union, list.nodup, list, decidable_eq]), (list.not_mem_cons_of_ne_of_not_mem, [not_or, list.eq_or_mem_of_mem_cons, false, eq, or, absurd, not.intro, list.cons, list.has_mem, has_mem.mem, not, ne, list]), (list.not_mem_nil, [list.mem_nil_iff, false, iff.mp, list.nil, list.has_mem, list, has_mem.mem, not]), (list.not_mem_of_nodup_cons, [list.nodup_cons, and, iff.mp, and.left, list.has_mem, has_mem.mem, not, list.cons, list.nodup, list]), (list.not_mem_of_not_mem_cons, [or.inr, false, eq, or, absurd, list.cons, list.has_mem, has_mem.mem, not, list]), (list.not_mem_range_self, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, list.mem_range, iff.mp, nat.has_lt, has_lt.lt, mt, list.range, list.has_mem, list, has_mem.mem, not, nat]), (list.not_nodup_cons_of_mem, [list.not_mem_of_nodup_cons, imp_not_comm, iff.mp, list.cons, list.nodup, not, list.has_mem, has_mem.mem, list]), (list.not_nodup_pair, [list.mem_singleton_self, list.not_nodup_cons_of_mem, list.nil, list.cons, list.nodup, not]), (list.nth, [list.nth._main, option, nat, list]), (list.nth._main, [pprod, punit, list.rec, pprod.fst, option.some, nat.cases_on, list.cons, option.none, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, option, nat, list]), (list.nth_le, [list.nth_le._main, list.length, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le._main, [nat.le_of_succ_le_succ, pprod, punit, list.rec, pprod.fst, nat.succ, nat.zero, nat.cases_on, list.cons, nat.not_lt_zero, absurd, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.length, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le._main._proof_1, [nat.le_of_succ_le_succ, nat.succ, nat.has_le, has_le.le, list.cons, list.length, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le._main.equations._eqn_2, [id_delta, eq.refl, list.nth_le._main, eq, list.cons, list.length, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, list]), (list.nth_le._main.equations._eqn_3, [id_delta, eq.refl, list.nth_le._main._proof_1, list.nth_le._main, eq, list.cons, list.length, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le.equations._eqn_2, [list.nth_le._main.equations._eqn_2, list.nth_le, eq, list.cons, list.length, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, list]), (list.nth_le.equations._eqn_3, [list.nth_le._main.equations._eqn_3, list.nth_le._main._proof_1, list.nth_le, eq, list.cons, list.length, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le_index_of, [list.index_of_nth_le, list.nth_le_mem, list.index_of_lt_length, list.has_mem, has_mem.mem, iff.mpr, list.nodup_iff_nth_le_inj, iff.mp, list.nth_le, list.index_of, eq, list.length, nat.has_lt, has_lt.lt, nat, list.nodup, list, decidable_eq]), (list.nth_le_mem, [nat.le_of_succ_le_succ, nat.add, pprod, punit, list.rec, pprod.fst, list.mem_cons_of_mem, nat.has_one, has_one.one, nat.has_add, has_add.add, list.mem_cons_self, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, list.cons, heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, eq, nat.less_than_or_equal, nat.succ, nat.less_than_or_equal.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.nth_le, list.has_mem, has_mem.mem, list.length, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le_nth, [pprod, punit, list.rec, pprod.fst, nat.add, nat.le_of_succ_le_succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, list.cons, heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, nat.less_than_or_equal, nat.succ, nat.less_than_or_equal.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.nth_le, option.some, list.nth, option, eq, list.length, nat.has_lt, has_lt.lt, nat, list]), (list.nth_le_of_mem, [nat.succ_lt_succ, nat.has_one, has_one.one, nat.has_add, has_add.add, Exists.dcases_on, pprod, punit, list.rec, pprod.fst, heq.refl, eq.symm, rfl, nat.succ_pos, nat.has_zero, has_zero.zero, Exists.intro, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, list.mem, or.dcases_on, list.cons, false.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.nth_le, eq, list.length, nat.has_lt, has_lt.lt, nat, Exists, list.has_mem, has_mem.mem, list]), (list.of_mem_filter, [not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.filter_cons_of_neg, not, list.mem_cons_iff, propext, true.intro, iff_true_intro, true, iff.mpr, list.filter_cons_of_pos, congr_arg, congr, has_mem, eq.trans, or, pprod, punit, list.rec, pprod.fst, eq.symm, eq.refl, eq.rec, eq.mp, list.eq_or_mem_of_mem_cons, eq, or.elim, dite, id_rhs, list.cons, false.dcases_on, list.nil, list.cases_on, list.below, list.brec_on, list.filter, list.has_mem, has_mem.mem, list, decidable_pred]), (list.pairwise, [list]), (list.pairwise.and_mem, [trivial, forall_2_true_iff, forall_true_iff, iff_self, true_and, iff_true_intro, propext, congr_arg, congr, eq.refl, imp_congr_ctx_eq, forall_congr_eq, eq.trans, eq, id, true, eq.mpr, list.pairwise.iff_of_mem, list.has_mem, has_mem.mem, and, list.pairwise, iff, list]), (list.pairwise.cons, [list.cons, list.pairwise, list.has_mem, has_mem.mem, list]), (list.pairwise.dcases_on, [list.pairwise.rec, list.pairwise.cons, list.cons, list.has_mem, has_mem.mem, list.pairwise.nil, list.nil, list.pairwise, list]), (list.pairwise.drec, [list.pairwise.rec, list.pairwise.cons, list.cons, list.has_mem, has_mem.mem, list.pairwise.nil, list.nil, list.pairwise, list]), (list.pairwise.iff_of_mem, [iff.mpr, iff.mp, list.pairwise.imp_of_mem, iff.intro, list.pairwise, iff, list.has_mem, has_mem.mem, list]), (list.pairwise.imp, [list.has_mem, has_mem.mem, list.pairwise.imp_of_mem, list.pairwise, list]), (list.pairwise.imp_of_mem, [list.mem_cons_of_mem, list.mem_cons_self, ball.imp_right, list.pairwise.cons, list.cons, list.pairwise.nil, list.nil, list.pairwise.drec, list.pairwise, list.has_mem, has_mem.mem, list]), (list.pairwise.nil, [list.nil, list.pairwise]), (list.pairwise.rec, [list.cons, list.pairwise, list.has_mem, has_mem.mem, list.nil, list]), (list.pairwise_app_comm, [iff.refl, iff.intro, eq.refl, eq.rec, and.left_comm, eq.trans, list.pairwise_append, propext, congr_arg, congr, eq, id, and, eq.mpr, list.has_mem, has_mem.mem, list.has_append, has_append.append, list.pairwise, iff, list, symmetric]), (list.pairwise_append, [forall_eq, list.mem_cons_iff, and_assoc, and.left_comm, forall_and_distrib, or_imp_distrib, list.mem_append, or, list.pairwise_cons, list.cons_append, list.cons, trivial, iff_self, true_and, and_true, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, list.not_mem_nil, iff_false_intro, imp_congr_eq, false, forall_congr_eq, list.pairwise.nil, iff_true_intro, propext, list.nil_append, eq.refl, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, and, list.has_append, has_append.append, list.pairwise, iff, list]), (list.pairwise_cons, [id_rhs, and.dcases_on, heq.refl, eq.refl, and.intro, eq.rec, list.pairwise.cons, list.pairwise.nil, list.no_confusion, list.nil, heq, eq, list.pairwise.dcases_on, iff.intro, list.has_mem, has_mem.mem, and, list.cons, list.pairwise, iff, list]), (list.pairwise_filter_map, [rfl, iff.rfl, iff.intro, and_congr, and_imp, exists_imp_distrib, list.mem_filter_map, Exists, list.filter_map_cons_some, forall_eq', option.some.inj_eq, true_and, forall_true_iff, not_false_iff, not, forall_prop_of_false, option.no_confusion, eq_false_intro, false, true.intro, eq_self_iff_true, iff.refl, eq.rec, iff.mpr, list.filter_map_cons_none, option.none, option.cases_on, list.pairwise_cons, list.has_mem, and, list.cons, trivial, iff_self, list.pairwise.nil, iff_true_intro, list.filter_map_nil, eq.trans, true, list.nil, list.rec, option.mem_def, propext, imp_congr_eq, forall_congr_eq, funext, eq.refl, congr_arg, congr, id, option.some, eq, eq.mpr, option.has_mem, has_mem.mem, list.filter_map, list.pairwise, iff, list, option]), (list.pairwise_filter_map_of_pairwise, [list.pairwise.imp, list.pairwise_filter_map, iff.mpr, list.filter_map, list.pairwise, list, option.has_mem, has_mem.mem, option]), (list.pairwise_filter_of_pairwise, [list.filter_sublist, list.pairwise_of_sublist, list.filter, list.pairwise, list, decidable_pred]), (list.pairwise_iff_nth_le, [nat.succ_pos, nat.succ_lt_succ, list.nth_le_of_mem, Exists, Exists.dcases_on, and.intro, nat.lt_of_succ_lt_succ, and.right, trivial, list.nth_le_mem, list.nth_le.equations._eqn_3, has_mem, list.nth_le._main._proof_1, and.left, nat.succ, nat.zero, nat.cases_on, iff.intro, pprod, punit, list.rec, pprod.fst, list.pairwise_cons, eq.rec, list.has_mem, has_mem.mem, and, list.cons, nat.not_lt_zero, nat.has_zero, has_zero.zero, nat.has_lt, not.elim, true_iff, eq.refl, list.pairwise.nil, iff_true_intro, propext, congr_arg, congr, true, eq.trans, eq, id, eq.mpr, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, lt_trans, list.nth_le, list.length, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, nat, list.pairwise, iff, list]), (list.pairwise_join, [and_assoc, and.left_comm, and_comm, list.pairwise_cons, list.forall_mem_cons', list.mem_cons_iff, or, iff.intro, and_imp, exists_imp_distrib, list.mem_join, Exists, list.pairwise_append, list.join.equations._eqn_2, list.has_append, has_append.append, list.cons, trivial, iff_self, and_self, list.inhabited, forall_const, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, list.not_mem_nil, iff_false_intro, imp_congr_eq, false, forall_congr_eq, list.pairwise.nil, iff_true_intro, propext, list.join.equations._eqn_1, eq.refl, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.has_mem, has_mem.mem, and, list.join, list.pairwise, iff, list]), (list.pairwise_lt_range', [list.chain_lt_range', nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_trans, list.chain_iff_pairwise, list.chain, iff.mp, nat.zero, nat.add, nat.has_one, has_one.one, nat.has_add, has_add.add, list.cons, list.pairwise.nil, list.nil, id_rhs, nat.cases_on, list.range', nat.has_lt, has_lt.lt, list.pairwise, nat]), (list.pairwise_map, [forall_eq', forall_congr, forall_swap, iff.trans, pprod, punit, list.rec, pprod.fst, and_imp, exists_imp_distrib, list.mem_map, imp_congr_eq, Exists, forall_congr_eq, list.pairwise_cons, list.map.equations._eqn_2, and, list.has_mem, has_mem.mem, list.cons, trivial, iff_self, list.pairwise.nil, iff_true_intro, propext, list.map.equations._eqn_1, eq.refl, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.map, list.pairwise, iff, list]), (list.pairwise_map_of_pairwise, [list.pairwise.imp, list.pairwise_map, iff.mpr, list.map, list.pairwise, list]), (list.pairwise_middle, [iff.refl, or_comm, eq.trans, list.mem_append, imp_congr_eq, forall_congr_eq, congr_arg, congr, or, list.pairwise_app_comm, list.pairwise_append, propext, list.has_mem, has_mem.mem, and, list.append_assoc, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, list.nil, list.cons, list.has_append, has_append.append, list.pairwise, iff, list, symmetric]), (list.pairwise_of_pairwise_map, [list.pairwise_map, iff.mp, list.pairwise.imp, list.map, list.pairwise, list]), (list.pairwise_of_sublist, [list.subset_of_sublist, ball.imp_left, list.sublist.cons2, heq.refl, eq.refl, pprod, punit, list.rec, pprod.fst, list.pairwise.cons, list.has_mem, has_mem.mem, list.pairwise.nil, list.no_confusion, list.pairwise.dcases_on, list.sublist.cons, list.cons, eq.symm, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, list.below, list.brec_on, list.pairwise, list.sublist, list]), (list.pairwise_pw_filter, [list.pw_filter_cons_of_neg, not, pprod, punit, list.rec, pprod.fst, and.intro, list.pairwise_cons, and, iff.mpr, list.pw_filter_cons_of_pos, eq.refl, eq.rec, eq, eq.mpr, id, list.decidable_forall_mem, list.has_mem, has_mem.mem, dite, list.cons, list.pairwise.nil, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.pw_filter, list.pairwise, list, decidable_rel]), (list.perm, [list]), (list.perm.drec, [list.perm.rec, list.perm.trans, list.perm.swap, list.perm.skip, list.cons, list.perm.nil, list.nil, list.perm, list]), (list.perm.nil, [list.nil, list.perm]), (list.perm.rec, [list.cons, list.perm, list.nil, list]), (list.perm.rec_on, [list.perm.rec, list.cons, list.nil, list.perm, list]), (list.perm.refl, [pprod, punit, list.rec, pprod.fst, list.perm.skip, list.cons, list.perm.nil, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.perm, list]), (list.perm.setoid, [list.perm.setoid._proof_1, list.perm, setoid.mk, list, setoid]), (list.perm.setoid._proof_1, [list.perm.trans, list.perm.symm, list.perm.refl, and.intro, transitive, symmetric, list.perm, list, reflexive, and]), (list.perm.skip, [list.cons, list.perm, list]), (list.perm.subperm_left, [list.perm.trans, Exists.intro, list.exists_perm_sublist, id_rhs, list.sublist, Exists, Exists.dcases_on, list.perm.symm, iff.intro, list.subperm, iff, list.perm, list]), (list.perm.subperm_right, [list.perm.symm, list.perm.trans, Exists.intro, id_rhs, list.sublist, Exists, Exists.dcases_on, iff.intro, list.subperm, iff, list.perm, list]), (list.perm.swap, [list.cons, list.perm, list]), (list.perm.symm, [list.perm.trans, list.perm.swap, list.perm.skip, list.perm.nil, list.perm.rec_on, list.perm, list]), (list.perm.trans, [list.perm, list]), (list.perm_app, [list.perm_app_right, list.perm_app_left, list.perm.trans, list.has_append, has_append.append, list.perm, list]), (list.perm_app_comm, [list.perm_middle, list.perm.symm, pprod, punit, list.rec, pprod.fst, list.perm.skip, list.perm.trans, list.cons, list.perm.refl, list.append_nil, list.nil_append, congr_arg, congr, eq, id, eq.mpr, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.perm, list]), (list.perm_app_left, [list.perm.trans, list.perm.swap, list.append, list.perm.skip, list.nil, list.perm.refl, list.perm.rec_on, list.has_append, has_append.append, list.perm, list]), (list.perm_app_right, [pprod, punit, list.rec, pprod.fst, list.perm.skip, list.append, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.perm, list]), (list.perm_bag_inter_left, [list.perm.trans, list.mem_of_mem_erase, mt, list.perm.swap, ne.symm, list.erase_comm, list.mem_erase_of_ne, eq.refl, eq.drec, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.cons_bag_inter_of_neg, not, trivial, list.perm.skip, propext, true.intro, iff_true_intro, iff.mpr, list.cons_bag_inter_of_pos, list.erase, eq.trans, true, list.cons, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.perm.refl, list.nil_bag_inter, congr_arg, congr, eq, id, list.nil, eq.mpr, list.perm.drec, list.bag_inter, list.perm, list, decidable_eq]), (list.perm_bag_inter_right, [mt, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.cons_bag_inter_of_neg, not, and_self, list.cons.inj_eq, list.mem_of_perm, iff.mp, list.erase_perm_erase, eq.refl, true.intro, iff_true_intro, iff.mpr, list.cons_bag_inter_of_pos, list.erase, and, list.cons, list.decidable_mem, list.has_mem, has_mem.mem, dite, trivial, eq_self_iff_true, propext, list.nil_bag_inter, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.bag_inter, eq, list.perm, list, decidable_eq]), (list.perm_cons, [list.perm.skip, list.perm_cons_inv, iff.intro, list.cons, list.perm, iff, list]), (list.perm_cons_app, [list.perm_middle, list.append_nil, eq.refl, congr_arg, congr, eq, eq.mp, list.nil, list.cons, list.has_append, has_append.append, list.perm, list]), (list.perm_cons_inv, [list.nil, list.perm_inv_core, list.cons, list.perm, list]), (list.perm_count, [list.perm_countp, list.count, nat, eq, list.perm, list, decidable_eq]), (list.perm_countp, [list.perm_filter, list.perm_length, list.countp_eq_length_filter, eq.refl, eq.rec, id, list.filter, list.length, eq.mpr, list.countp, nat, eq, list.perm, list, decidable_pred]), (list.perm_diff_left, [true.intro, list.erase_perm_erase, iff.mpr, list.diff_cons, list.erase, list.cons, trivial, iff_true_intro, propext, list.diff_nil, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.diff, list.perm, list, decidable_eq]), (list.perm_diff_right, [list.erase_comm, eq.refl, eq.drec, list.diff_cons, list.erase, list.cons, trivial, eq_self_iff_true, propext, list.diff_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.perm.drec, list.diff, eq, list.perm, list, decidable_eq]), (list.perm_erase, [list.exists_erase_eq, list.perm_middle, eq.symm, eq.subst, id_rhs, and.dcases_on, Exists.dcases_on, list.has_append, has_append.append, eq, not, and, Exists, list.erase, list.cons, list.perm, list.has_mem, has_mem.mem, list, decidable_eq]), (list.perm_erase_dup_of_perm, [list.mem_of_perm, mt, not_false_iff, iff_false_intro, not_congr, false, list.count_eq_zero_of_not_mem, nat.has_zero, has_zero.zero, not, trivial, eq_self_iff_true, propext, list.perm_subset, list.mem_erase_dup, iff.trans, true.intro, list.nodup_erase_dup, iff_true_intro, list.nodup, list.count_eq_one_of_mem, congr_arg, congr, nat.has_one, has_one.one, eq.trans, id, true, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.perm_iff_count, list.count, nat, eq, iff.mpr, list.erase_dup, list.perm, list, decidable_eq]), (list.perm_ext, [iff.mpr, iff.mp, list.subperm_of_subset_nodup, list.subperm.antisymm, list.mem_of_perm, iff.intro, list.has_mem, has_mem.mem, list.perm, iff, list.nodup, list]), (list.perm_filter, [list.perm_filter_map, list.filter_map_eq_filter, eq.symm, eq.refl, eq.rec, eq, id, option.guard, list.filter_map, eq.mpr, list.filter, list.perm, list, decidable_pred]), (list.perm_filter_map, [list.perm.trans, list.perm.swap, eq.refl, true.intro, iff.mpr, list.perm.skip, list.filter_map._match_1.equations._eqn_2, option.some, trivial, iff_true_intro, propext, list.filter_map._match_1.equations._eqn_1, eq.trans, true, option.none, option.cases_on, list.filter_map.equations._eqn_2, list.filter_map._match_1, list.cons, list.perm.refl, list.filter_map_nil, congr_arg, congr, eq, id, list.nil, eq.mpr, list.perm.drec, list.filter_map, list.perm, list, option]), (list.perm_iff_count, [list.perm.symm, propext, ne.def, iff.refl, ne, list.count_cons_of_ne, nat.succ_pos, has_lt, eq.symm, list.count_pos, nat.has_lt, has_lt.lt, iff.mp, list.perm_erase, eq.rec, nat.succ.inj_eq, eq.trans, eq.refl, eq.drec, id, eq.mpr, dite, list.perm.skip, list.erase, list.perm.trans, list.count_cons_self, true.intro, not_false_iff, list.not_mem_nil, iff_false_intro, not_congr, false, iff.trans, true, list.has_mem, has_mem.mem, not, iff.mpr, list.count_eq_zero_of_not_mem, congr_arg, congr, eq.mp, nat.succ, nat.has_zero, has_zero.zero, nat.no_confusion, list.cons, list.perm.refl, list.cases_on, list.nil, list.rec, list.perm_count, iff.intro, list.count, nat, eq, list.perm, iff, list, decidable_eq]), (list.perm_induction_on, [list.rec_on, list.perm.refl, list.perm.rec_on, list.cons, list.nil, list.perm, list]), (list.perm_insert, [list.perm.skip, list.mem_of_perm, mt, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons, not, list.perm_subset, true.intro, iff_true_intro, true, iff.mpr, list.insert_of_mem, congr_arg, congr, eq, id, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.has_insert, insert, list.perm, list, decidable_eq]), (list.perm_insert_swap, [list.perm.swap, ne.symm, list.not_mem_cons_of_ne_of_not_mem, true_or, eq_self_iff_true, or_true, iff.refl, or_congr, list.mem_cons_iff, or, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons, not, list.perm.refl, true.intro, iff_true_intro, true, iff.mpr, list.insert_of_mem, eq.refl, has_insert, eq.trans, congr_arg, congr, eq, id, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.has_insert, insert, list.perm, list, decidable_eq]), (list.perm_inv_core, [list.perm_subset, list.mem_split, Exists, Exists.dcases_on, list.perm.swap, rfl, list.append, list.perm.skip, list.perm.symm, list.perm_middle, list.perm.trans, list.cons.inj_arrow, list.cases_on, trivial, or_true, true_or, eq_self_iff_true, list.mem_cons_iff, congr_arg, congr, list.mem_append, propext, or, eq.trans, true, eq.symm, eq.refl, eq.rec, id, eq.mpr, list.not_mem_nil, list.has_mem, has_mem.mem, not.elim, list.nil, list.perm_induction_on, eq, list.cons, list.has_append, has_append.append, list.perm, list]), (list.perm_length, [trivial, eq_self_iff_true, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, propext, add_comm, eq.refl, has_add, list.length.equations._eqn_2, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, nat.has_add, has_add.add, nat.has_one, has_one.one, eq.trans, id, true, list.cons, eq.mpr, list.nil, rfl, list.perm.rec_on, list.length, nat, eq, list.perm, list]), (list.perm_map, [list.perm_filter_map, list.filter_map_eq_map, eq.symm, eq.refl, eq.rec, eq, id, option.some, option, function.comp, list.filter_map, eq.mpr, list.map, list.perm, list]), (list.perm_middle, [list.perm.swap, pprod, punit, list.rec, pprod.fst, list.perm.skip, list.perm.trans, list.perm.refl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.cons, list.has_append, has_append.append, list.perm, list]), (list.perm_nodup, [ne.symm, ne, list.perm_pairwise, list.nodup, iff, list.perm, list]), (list.perm_pairwise, [eq.symm, list.perm_middle, list.perm.trans, list.perm_cons_inv, and.intro, list.pairwise_cons, and, list.pairwise_middle, iff.mpr, list.mem_cons_self, list.perm_subset, list.mem_split, list.has_append, has_append.append, Exists, Exists.dcases_on, list.cons, list.has_mem, has_mem.mem, list.pairwise.nil, list.eq_nil_of_perm_nil, eq.refl, eq.rec, eq, id, eq.mpr, list.nil, list.pairwise.drec, list.perm.symm, iff.intro, list.pairwise, iff, list.perm, list, symmetric]), (list.perm_pmap, [list.perm_subset, list.perm.trans, list.perm.swap, eq.refl, trivial, true.intro, iff.mpr, list.perm.skip, iff_true_intro, propext, list.pmap.equations._eqn_2, list.pmap._main._proof_2, list.pmap._main._proof_1, eq.trans, true, list.cons, list.perm.refl, list.pmap.equations._eqn_1, congr_arg, congr, eq, id, eq.mpr, list.nil, list.perm.drec, list.pmap, list.has_mem, has_mem.mem, list.perm, list]), (list.perm_subset, [or_true, or.inr, trivial, true_or, eq_self_iff_true, list.mem_cons_iff, propext, eq.refl, congr_arg, congr, has_mem, or, eq.trans, id, true, eq.mpr, list.mem, eq, or.elim, list.cons, list.nil, list.has_mem, has_mem.mem, list.perm.rec_on, list.has_subset, has_subset.subset, list.perm, list]), (list.perm_union, [list.perm_union_right, list.perm_union_left, list.perm.trans, list.has_union, has_union.union, list.perm, list, decidable_eq]), (list.perm_union_left, [list.perm.trans, list.perm_insert_swap, eq.refl, has_insert, eq.trans, list.perm_insert, list.cons_union, list.has_insert, insert, list.cons, list.perm.refl, list.nil_union, congr_arg, congr, eq, id, list.nil, eq.mpr, list.perm.drec, list.has_union, has_union.union, list.perm, list, decidable_eq]), (list.perm_union_right, [true.intro, iff.mpr, list.perm_insert, list.cons_union, list.has_insert, insert, list.cons, trivial, iff_true_intro, propext, list.nil_union, congr_arg, congr, eq.trans, eq, id, true, list.nil, eq.mpr, list.rec, list.has_union, has_union.union, list.perm, list, decidable_eq]), (list.pmap, [list.pmap._main, list.has_mem, has_mem.mem, list]), (list.pmap._main, [and.right, pprod, punit, list.rec, pprod.fst, list.forall_mem_cons, and, iff.mp, and.left, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_mem, has_mem.mem, list]), (list.pmap._main._proof_1, [list.forall_mem_cons, and, iff.mp, and.left, list.cons, list.has_mem, has_mem.mem, list]), (list.pmap._main._proof_2, [list.forall_mem_cons, and, iff.mp, and.right, list.cons, list.has_mem, has_mem.mem, list]), (list.pmap._main.equations._eqn_1, [id_delta, eq.refl, list.pmap._main, eq, list.nil, list.has_mem, list, has_mem.mem]), (list.pmap._main.equations._eqn_2, [id_delta, eq.refl, list.pmap._main._proof_2, list.pmap._main._proof_1, list.pmap._main, eq, list.cons, list.has_mem, has_mem.mem, list]), (list.pmap.equations._eqn_1, [list.pmap._main.equations._eqn_1, list.pmap, eq, list.nil, list.has_mem, list, has_mem.mem]), (list.pmap.equations._eqn_2, [list.pmap._main.equations._eqn_2, list.pmap._main._proof_2, list.pmap._main._proof_1, list.pmap, eq, list.cons, list.has_mem, has_mem.mem, list]), (list.pmap_congr, [true_and, list.cons.inj_eq, eq.refl, list.pmap.equations._eqn_2, list.pmap._main._proof_1, true.intro, true_or, iff.refl, or_congr, list.mem_cons_iff, or, iff.trans, iff_true_intro, iff.mpr, and, list.pmap._main._proof_2, list.cons, trivial, eq_self_iff_true, propext, list.pmap.equations._eqn_1, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, list.rec, list.pmap, eq, list.has_mem, has_mem.mem, list]), (list.pmap_eq_map, [and_self, list.cons.inj_eq, list.map.equations._eqn_2, eq.refl, list.pmap.equations._eqn_2, list.pmap._main._proof_2, list.pmap._main._proof_1, and, list.cons, trivial, eq_self_iff_true, propext, list.map.equations._eqn_1, list.pmap.equations._eqn_1, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, list.rec, list.map, list.pmap, eq, list.has_mem, has_mem.mem, list]), (list.pmap_eq_map_attach, [rfl, list.pmap_congr, list.map_pmap, list.attach.equations._eqn_1, eq.refl, eq.rec, id, list.attach._proof_1, subtype.mk, eq.mpr, list.attach, subtype.property, subtype.val, subtype, list.map, list.pmap, eq, list.has_mem, has_mem.mem, list]), (list.prod, [has_one.one, has_mul.mul, list.foldl, list, has_one, has_mul]), (list.prod.equations._eqn_1, [eq.refl, has_one.one, has_mul.mul, list.foldl, list.prod, list, eq, has_one, has_mul]), (list.prod_cons, [semigroup_to_is_associative, list.foldl_assoc, trivial, eq_self_iff_true, propext, mul_one, one_mul, eq.refl, list.foldl_cons, list.prod.equations._eqn_1, congr_fun, congr_arg, congr, id, true, eq.mpr, has_one.one, list.foldl, eq.trans, has_mul.mul, list.cons, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, list.prod, eq, list, monoid]), (list.prod_repeat, [trivial, eq_self_iff_true, propext, pow_succ, pprod, punit, nat.rec, nat.add, pprod.fst, eq.refl, list.prod_cons, list.repeat_succ, list, has_one, has_mul, list.cons, congr_arg, congr, has_mul.mul, eq.trans, id, true, eq.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, monoid.has_pow, has_pow.pow, list.repeat, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, list.prod, eq, nat, monoid]), (list.product, [prod.mk, list.map, list.bind, prod, list]), (list.product.equations._eqn_1, [eq.refl, prod.mk, list.map, list.bind, list.product, prod, eq, list]), (list.pw_filter, [list.pw_filter._main, list, decidable_rel]), (list.pw_filter._main, [list.decidable_forall_mem, list.has_mem, has_mem.mem, ite, pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list, decidable_rel]), (list.pw_filter_cons_of_neg, [list.decidable_forall_mem, if_neg, list.cons, eq, list.pw_filter, list.has_mem, has_mem.mem, not, list, decidable_rel]), (list.pw_filter_cons_of_pos, [list.decidable_forall_mem, if_pos, list.cons, eq, list.pw_filter, list.has_mem, has_mem.mem, list, decidable_rel]), (list.pw_filter_eq_self, [list.pw_filter_subset, ball.imp_left, list.pw_filter_cons_of_pos, eq.rec, list.pairwise_cons, iff.mp, and, list.has_mem, has_mem.mem, and.dcases_on, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.pw_filter_nil, congr_arg, congr, eq.trans, id, true, eq.mpr, list.nil, list.rec, list.pairwise_pw_filter, eq.subst, iff.intro, list.pairwise, list.pw_filter, eq, iff, list, decidable_rel]), (list.pw_filter_nil, [rfl, list.nil, list.pw_filter, list, eq, decidable_rel]), (list.pw_filter_sublist, [list.sublist_cons_of_sublist, list.pw_filter_cons_of_neg, not, pprod, punit, list.rec, pprod.fst, list.cons_sublist_cons, list.pw_filter_cons_of_pos, eq.refl, eq.rec, eq, eq.mpr, id, list.decidable_forall_mem, list.has_mem, has_mem.mem, dite, list.cons, list.nil_sublist, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.pw_filter, list.sublist, list, decidable_rel]), (list.pw_filter_subset, [list.pw_filter_sublist, list.subset_of_sublist, list.pw_filter, list.has_subset, has_subset.subset, list, decidable_rel]), (list.range', [list.range'._main, list, nat]), (list.range'._main, [nat.has_one, has_one.one, nat.has_add, has_add.add, pprod, punit, nat.rec, nat.add, pprod.fst, list.cons, nat.succ, list.nil, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, list, nat]), (list.range'._main.equations._eqn_1, [id_delta, eq.refl, list.nil, nat.has_zero, has_zero.zero, list.range'._main, list, eq, nat]), (list.range'._main.equations._eqn_2, [id_delta, eq.refl, list.cons, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range'._main, list, eq, nat]), (list.range'.equations._eqn_1, [list.range'._main.equations._eqn_1, list.nil, nat.has_zero, has_zero.zero, list.range', list, eq, nat]), (list.range'.equations._eqn_2, [list.range'._main.equations._eqn_2, list.cons, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range', list, eq, nat]), (list.range'_append, [pprod, punit, nat.rec, nat.add, pprod.fst, add_right_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_one, has_one.one, list.cons, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, list.range', list.has_append, has_append.append, list, eq, nat]), (list.range'_concat, [list.range'_append, eq.symm, add_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, list.nil, list.cons, list.has_append, has_append.append, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range', list, eq, nat]), (list.range'_sublist_right, [list.sublist_append_left, list.range'_append, list.has_append, list, has_append.append, nat.sub_add_cancel, eq.symm, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, eq.mpr, list.length_le_of_sublist, list.length_range', congr_arg, congr, eq, has_le, list.length, eq.mp, iff.intro, nat.has_le, has_le.le, list.range', list.sublist, iff, nat]), (list.range'_subset_right, [list.range'_sublist_right, list.sublist, list.subset_of_sublist, nat.add_lt_add_left, nat.le_add_right, and.intro, iff.mpr, list.mem_range', and, list.has_mem, has_mem.mem, iff.mp, nat.has_lt, and.right, nat.has_add, has_add.add, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, lt_irrefl, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, nat.linear_order, le_of_not_lt, iff.intro, nat.has_le, has_le.le, list.range', list.has_subset, list, has_subset.subset, iff, nat]), (list.range, [list.nil, list.range_core, list, nat]), (list.range_concat, [trivial, eq_self_iff_true, propext, nat.add_monoid, zero_add, eq.refl, has_append, list.range'_concat, list.range_eq_range', congr_arg, congr, nat.has_zero, has_zero.zero, list.range', eq.trans, id, true, eq.mpr, list.nil, list.cons, list.has_append, has_append.append, nat.has_one, has_one.one, nat.has_add, has_add.add, list.range, list, eq, nat]), (list.range_core, [list.range_core._main, list, nat]), (list.range_core._main, [list.cons, pprod, punit, nat.rec, pprod.fst, nat.succ, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, list, nat]), (list.range_core_range', [pprod, punit, nat.rec, nat.add, pprod.fst, trivial, eq_self_iff_true, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, propext, add_comm, nat.add_comm_semigroup, add_left_comm, congr_arg, congr, eq.trans, true, eq.refl, eq.rec, id, eq.mpr, nat.has_one, has_one.one, nat.succ, rfl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_zero, has_zero.zero, list.range', list.range_core, list, eq, nat]), (list.range_eq_range', [zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, id, eq.mpr, list.range_core_range', nat.has_add, has_add.add, list.range_core, eq.trans, nat.has_zero, has_zero.zero, list.range', list.range, list, eq, nat]), (list.range_subset, [trivial, iff_self, eq.refl, list.range'_subset_right, propext, list.range_eq_range', has_subset, nat.has_zero, has_zero.zero, list.range', congr_arg, congr, eq.trans, eq, id, true, eq.mpr, nat.has_le, has_le.le, list.range, list.has_subset, list, has_subset.subset, iff, nat]), (list.rec, [list.cons, list.nil, list]), (list.rec_on, [list.rec, list.cons, list.nil, list]), (list.rel_of_pairwise_cons, [list.pairwise_cons, and, iff.mp, and.left, list.has_mem, has_mem.mem, list.cons, list.pairwise, list]), (list.repeat, [list.repeat._main, list, nat]), (list.repeat._main, [pprod, punit, nat.rec, pprod.fst, list.cons, nat.succ, list.nil, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, list, nat]), (list.repeat._main.equations._eqn_1, [id_delta, eq.refl, list.nil, nat.has_zero, nat, has_zero.zero, list.repeat._main, list, eq]), (list.repeat._main.equations._eqn_2, [id_delta, eq.refl, list.cons, nat.succ, list.repeat._main, list, eq, nat]), (list.repeat.equations._eqn_1, [list.repeat._main.equations._eqn_1, list.nil, nat.has_zero, nat, has_zero.zero, list.repeat, list, eq]), (list.repeat.equations._eqn_2, [list.repeat._main.equations._eqn_2, list.cons, nat.succ, list.repeat, list, eq, nat]), (list.repeat_sublist_repeat, [trivial, true.intro, iff.mpr, list.sublist.cons, iff_true_intro, propext, list.repeat_succ, eq.refl, list, list.cons, eq.trans, id, true, nat.succ, eq.mpr, nat.less_than_or_equal, list.sublist.refl, nat.less_than_or_equal.drec, list.length_le_of_sublist, list.length_repeat, congr_arg, congr, eq, has_le, list.length, eq.mp, iff.intro, nat.has_le, has_le.le, list.repeat, list.sublist, iff, nat]), (list.repeat_succ, [rfl, list.cons, nat.has_one, has_one.one, nat.has_add, has_add.add, list.repeat, list, eq, nat]), (list.reverse, [list.nil, list.reverse_core, list]), (list.reverse_append, [list.append_assoc, list.reverse_cons, list.cons_append, list.cons, trivial, eq_self_iff_true, propext, list.append_nil, list.reverse_nil, eq.refl, has_append, list.nil_append, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.has_append, has_append.append, list.reverse, eq, list]), (list.reverse_cons, [list.cons_append, list.reverse_core.equations._eqn_2, trivial, list.inhabited, forall_const, eq_self_iff_true, propext, eq.refl, list.reverse_core.equations._eqn_1, has_append, congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, list.rec, eq.symm, list.reverse_core, list.nil, list.has_append, has_append.append, list.cons, list.reverse, eq, list]), (list.reverse_core, [list.reverse_core._main, list]), (list.reverse_core._main, [pprod, punit, list.rec, pprod.fst, list.cons, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list]), (list.reverse_core._main.equations._eqn_1, [id_delta, eq.refl, list.nil, list.reverse_core._main, eq, list]), (list.reverse_core._main.equations._eqn_2, [id_delta, eq.refl, list.cons, list.reverse_core._main, eq, list]), (list.reverse_core.equations._eqn_1, [list.reverse_core._main.equations._eqn_1, list.nil, list.reverse_core, eq, list]), (list.reverse_core.equations._eqn_2, [list.reverse_core._main.equations._eqn_2, list.cons, list.reverse_core, eq, list]), (list.reverse_nil, [rfl, list.nil, list.reverse, list, eq]), (list.reverse_perm, [pprod, punit, list.rec, pprod.fst, list.perm.skip, list.perm_cons_app, list.perm.trans, list.reverse_cons, eq.refl, eq.rec, eq, id, list.has_append, has_append.append, eq.mpr, list.cons, list.perm.nil, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.reverse, list.perm, list]), (list.reverse_reverse, [and_self, list.cons.inj_eq, list.nil_append, list.cons_append, list.reverse_singleton, has_append, list.reverse_append, list.reverse_cons, list.has_append, has_append.append, and, list.cons, trivial, eq_self_iff_true, propext, eq.refl, list.reverse_nil, congr_arg, congr, eq.trans, id, true, list.nil, eq.mpr, list.rec, list.reverse, eq, list]), (list.reverse_singleton, [rfl, list.nil, list.cons, list.reverse, list, eq]), (list.singleton_sublist, [list.mem_split, list.sublist_append_right, list.nil_sublist, list.cons_sublist_cons, list.sublist.trans, eq.symm, eq.subst, id_rhs, Exists.dcases_on, list.has_append, has_append.append, eq, Exists, list.mem_singleton_self, list.subset_of_sublist, iff.intro, list.has_mem, has_mem.mem, list.nil, list.cons, list.sublist, iff, list]), (list.sublist, [list]), (list.sublist.cases_on, [list.sublist.rec, list.cons, list.nil, list.sublist, list]), (list.sublist.cons, [list.cons, list.sublist, list]), (list.sublist.cons2, [list.cons, list.sublist, list]), (list.sublist.dcases_on, [list.sublist.rec, list.sublist.cons2, list.sublist.cons, list.cons, list.sublist.slnil, list.nil, list.sublist, list]), (list.sublist.drec, [list.sublist.rec, list.sublist.cons2, list.sublist.cons, list.cons, list.sublist.slnil, list.nil, list.sublist, list]), (list.sublist.rec, [list.cons, list.sublist, list.nil, list]), (list.sublist.rec_on, [list.sublist.rec, list.cons, list.nil, list.sublist, list]), (list.sublist.refl, [pprod, punit, list.rec, pprod.fst, list.sublist.cons2, list.cons, list.sublist.slnil, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.sublist, list]), (list.sublist.slnil, [list.nil, list.sublist]), (list.sublist.trans, [rfl, list.sublist.cons2, heq.refl, id_rhs, eq.rec, eq.refl, list.no_confusion, heq, eq.dcases_on, list.nil_sublist, eq, list.sublist.cases_on, list.cons, list.sublist.cons, list.nil, list.sublist.rec_on, list.sublist, list]), (list.sublist_append_left, [pprod, punit, list.rec, pprod.fst, list.cons_sublist_cons, list.append, list.cons, list.nil_sublist, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.sublist, list]), (list.sublist_append_right, [pprod, punit, list.rec, pprod.fst, list.sublist.cons, list.append, list.cons, list.sublist.refl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.sublist, list]), (list.sublist_cons, [list.sublist.refl, list.sublist.cons, list.cons, list.sublist, list]), (list.sublist_cons_of_sublist, [list.sublist.cons, list.cons, list.sublist, list]), (list.sublist_of_cons_sublist, [list.sublist_cons, list.sublist.trans, list.cons, list.sublist, list]), (list.sublist_of_cons_sublist_cons, [heq.refl, eq.refl, list.sublist.cons2, list.sublist_of_cons_sublist, id_rhs, list.sublist.cons, eq.rec, list.sublist.slnil, list.no_confusion, list.nil, heq, eq, list.sublist.dcases_on, list.cons, list.sublist, list]), (list.sublist_of_infix, [list.sublist_append_left, list.sublist_append_right, list.sublist.trans, eq.symm, eq.refl, eq.rec, id, eq.mpr, id_rhs, list.has_append, has_append.append, eq, Exists, Exists.dcases_on, list.sublist, list.is_infix, list]), (list.sublist_of_suffix, [list.infix_of_suffix, list.sublist_of_infix, list.is_infix, function.comp, list.sublist, list.is_suffix, list]), (list.sublist_or_mem_of_sublist, [list.mem_cons_of_mem, list.cons_sublist_cons, or.imp, list.sublist_cons_of_sublist, or.imp_left, list.append, heq.refl, or_true, eq_self_iff_true, list.mem_cons_iff, list.sublist.cons2, trivial, true_or, iff_true_intro, propext, list.nil_append, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, list.sublist.cons, eq.symm, list.no_confusion, list.sublist.slnil, eq.rec, heq, eq, list.sublist.dcases_on, list.nil, list.rec, list.has_mem, has_mem.mem, or, list.cons, list.has_append, has_append.append, list.sublist, list]), (list.sublist_suffix_of_union, [list.cons_sublist_cons, and_self, list.cons.inj_eq, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons_append, not, list.sublist_cons_of_sublist, and_true, eq_self_iff_true, propext, true.intro, iff_true_intro, iff.mpr, list.insert_of_mem, true, list.decidable_mem, list.has_mem, has_mem.mem, dite, eq.symm, has_insert, list.cons_union, eq.trans, eq.refl, congr, funext, congr_arg, id, list.has_insert, insert, eq.mpr, and.dcases_on, Exists.dcases_on, pprod, punit, list.rec, pprod.fst, list.cons, rfl, list.sublist.refl, and.intro, Exists.intro, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_union, has_union.union, list.has_append, has_append.append, eq, list.sublist, and, Exists, list, decidable_eq]), (list.subperm, [list.sublist, list.perm, Exists, list]), (list.subperm.antisymm, [list.length_le_of_subperm, list.subperm.perm_of_length_le, list.perm, list.subperm, list]), (list.subperm.exists_of_length_lt, [nat.lt_of_succ_lt_succ, list.subperm_cons, iff.mpr, list.perm.swap, list.subperm.refl, list.eq_of_sublist_of_length_eq, Exists.intro, list.sublist_cons, list.subperm_of_sublist, list.subperm.trans, nat.le_of_lt_succ, lt_or_eq_of_le, or, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or.dcases_on, heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, eq, nat.less_than_or_equal, nat.succ, nat.less_than_or_equal.dcases_on, list.nil, list.sublist.drec, list.perm.symm, list.perm_length, eq.subst, list.perm.skip, list.perm.subperm_right, iff.mp, Exists.imp, id_rhs, list.sublist, list.perm, Exists.dcases_on, list.cons, Exists, list.length, nat.has_lt, nat, has_lt.lt, list.subperm, list]), (list.subperm.perm_of_length_le, [list.perm_length, list.eq_of_sublist_of_length_le, list.perm.symm, eq.subst, eq, id_rhs, list.sublist, Exists, Exists.dcases_on, list.perm, list.length, nat.has_le, nat, has_le.le, list.subperm, list]), (list.subperm.refl, [list.perm.refl, list.subperm_of_perm, list.subperm, list]), (list.subperm.trans, [list.sublist.trans, Exists.intro, list.perm.subperm_left, iff.mpr, id_rhs, list.sublist, list.perm, Exists, Exists.dcases_on, list.subperm, list]), (list.subperm_app_left, [pprod, punit, list.rec, pprod.fst, list.subperm_cons, iff.trans, list.append, list.cons, iff.rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.has_append, has_append.append, list.subperm, iff, list]), (list.subperm_cons, [list.perm.skip, heq.refl, eq.refl, list.perm_cons_inv, Exists.intro, list.sublist.cons2, list.sublist_cons, list.subperm_of_sublist, list.perm.subperm_left, iff.mpr, list.subperm.trans, list.sublist.cons, eq.symm, list.no_confusion, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, id_rhs, list.sublist, list.perm, Exists, Exists.dcases_on, iff.intro, list.cons, list.subperm, iff, list]), (list.subperm_of_perm, [list.sublist.refl, list.perm.symm, list.sublist, Exists, Exists.intro, list.subperm, list.perm, list]), (list.subperm_of_sublist, [list.perm.refl, list.perm, Exists, Exists.intro, list.subperm, list.sublist, list]), (list.subperm_of_subset_nodup, [list.forall_mem_ne, propext, ne.def, eq.refl, imp_congr_eq, forall_congr_eq, eq, eq.trans, not, eq.mp, list.cons_subperm_of_mem, list.forall_mem_cons, iff.mp, and, and.dcases_on, list.cons, list.pairwise, list.has_mem, has_mem.mem, list.nil_sublist, list.perm.nil, list.sublist, list.perm, Exists, Exists.intro, list.nil, ne, list.pairwise.drec, list.subperm, list.has_subset, has_subset.subset, list.nodup, list]), (list.subset, [list.has_mem, has_mem.mem, list]), (list.subset.trans, [list.has_mem, has_mem.mem, list.has_subset, has_subset.subset, list]), (list.subset_of_sublist, [heq.refl, eq.refl, list.mem_cons_self, eq.subst, or.dcases_on, list.eq_or_mem_of_mem_cons, or, list.sublist.cons2, pprod, punit, list.rec, pprod.fst, list.mem_cons_of_mem, list.sublist.cons, list.cons, eq.symm, id_rhs, list.sublist.slnil, eq.rec, list.nil, heq, eq, list.sublist.dcases_on, list.below, list.brec_on, list.has_mem, has_mem.mem, list.has_subset, has_subset.subset, list.sublist, list]), (list.subset_of_subperm, [list.subset_of_sublist, list.perm.symm, list.perm_subset, list.subset.trans, id_rhs, list.sublist, list.perm, Exists, Exists.dcases_on, list.has_subset, has_subset.subset, list.subperm, list]), (list.suffix_append, [rfl, eq, Exists.intro, list.has_append, has_append.append, list.is_suffix, list]), (list.suffix_cons, [list.nil, list.suffix_append, list.cons, list.is_suffix, list]), (list.suffix_insert, [trivial, list.suffix_cons, propext, not_false_iff, iff_false_intro, not_congr, false, iff.trans, list.insert_of_not_mem, list.cons, eq.trans, not, list.suffix_refl, true.intro, iff_true_intro, true, iff.mpr, list.insert_of_mem, eq.refl, congr_arg, congr, eq, id, eq.mpr, list.decidable_mem, list.has_mem, has_mem.mem, dite, list.has_insert, insert, list.is_suffix, list, decidable_eq]), (list.suffix_refl, [rfl, list.nil, list.has_append, has_append.append, eq, Exists.intro, list.is_suffix, list]), (list.suffix_union_right, [list.sublist_suffix_of_union, and.right, list.has_append, has_append.append, eq, list.sublist, and, Exists.imp, list.has_union, has_union.union, list.is_suffix, list, decidable_eq]), (list.sum, [has_zero.zero, has_add.add, list.foldl, list, has_zero, has_add]), (list.sum_repeat, [multiplicative.monoid, multiplicative, list.prod_repeat, add_monoid.smul, list.repeat, add_monoid.to_has_zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, list.sum, eq, nat, add_monoid]), (list.union, [list.has_insert, insert, list.foldr, list, decidable_eq]), (lt.trans, [lt_trans, preorder.to_has_lt, has_lt.lt, preorder]), (lt_add_of_pos_left, [add_lt_add_right, zero_add, eq.refl, eq, eq.rec, eq.mp, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_lt.lt, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, ordered_cancel_comm_monoid]), (lt_add_of_pos_right, [add_lt_add_left, add_zero, eq.refl, eq, eq.rec, eq.mp, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_lt.lt, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, ordered_cancel_comm_monoid]), (lt_iff_le_and_ne, [lt_of_le_of_ne, id_rhs, and.dcases_on, ne_of_lt, le_of_lt, and.intro, iff.intro, ne, preorder.to_has_le, has_le.le, and, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, partial_order]), (lt_iff_le_not_le, [preorder.lt_iff_le_not_le, not, preorder.to_has_le, has_le.le, and, preorder.to_has_lt, has_lt.lt, iff, preorder]), (lt_iff_not_ge, [lt_of_not_ge, not_le_of_gt, iff.intro, preorder.to_has_le, ge, not, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, linear_order]), (lt_irrefl, [false.rec, and.dcases_on, le_not_le_of_lt, false, preorder.to_has_le, has_le.le, and, id_rhs, preorder.to_has_lt, has_lt.lt, not, preorder]), (lt_mul_iff_one_lt_left, [mul_lt_mul_right, one_mul, eq.refl, eq, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, eq.mp, semiring.to_monoid, monoid.to_has_one, has_one.one, mul_zero_class.to_has_mul, has_mul.mul, has_lt.lt, iff, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, linear_ordered_semiring]), (lt_of_add_lt_add_left', [ordered_comm_monoid.lt_of_add_lt_add_left, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_monoid]), (lt_of_add_lt_add_left, [not_le_of_gt, add_le_add_left, preorder.to_has_le, has_le.le, mt, le_of_lt, le_of_add_le_add_left, lt_of_le_not_le, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_cancel_comm_monoid]), (lt_of_add_lt_add_right, [add_comm, eq.refl, eq.rec, eq, id, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.mpr, lt_of_add_lt_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_cancel_comm_monoid]), (lt_of_le_not_le, [and.intro, lt_iff_le_not_le, and, iff.mpr, id_rhs, preorder.to_has_lt, has_lt.lt, not, preorder.to_has_le, has_le.le, preorder]), (lt_of_le_of_lt, [le_trans, lt_of_le_not_le, and.dcases_on, le_not_le_of_lt, not, and, id_rhs, preorder.to_has_lt, has_lt.lt, preorder.to_has_le, has_le.le, preorder]), (lt_of_le_of_ne, [lt_or_eq_of_le, eq, or.resolve_right, preorder.to_has_lt, has_lt.lt, ne, partial_order.to_preorder, preorder.to_has_le, has_le.le, partial_order]), (lt_of_lt_of_le, [le_trans, lt_of_le_not_le, and.dcases_on, le_not_le_of_lt, not, and, id_rhs, preorder.to_has_le, has_le.le, preorder.to_has_lt, has_lt.lt, preorder]), (lt_of_mul_lt_mul_left, [mul_le_mul_of_nonneg_left, not_lt_of_ge, linear_order.to_partial_order, has_le.le, linear_ordered_semiring.to_linear_order, lt_of_not_ge, mul_zero_class.to_has_zero, has_zero.zero, preorder.to_has_le, ge, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (lt_of_mul_lt_mul_right, [mul_le_mul_of_nonneg_right, not_lt_of_ge, linear_order.to_partial_order, has_le.le, linear_ordered_semiring.to_linear_order, lt_of_not_ge, mul_zero_class.to_has_zero, has_zero.zero, preorder.to_has_le, ge, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (lt_of_neg_lt_neg, [neg_lt_neg, neg_neg, eq.subst, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (lt_of_not_ge, [lt_trichotomy, le_of_lt, has_le.le, le_refl, eq.subst, absurd, id_rhs, or.dcases_on, eq, or, preorder.to_has_lt, has_lt.lt, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, not, linear_order]), (lt_of_sub_pos, [add_lt_add_right, sub_add_cancel, zero_add, eq.refl, eq, eq.rec, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, add_group_has_sub, has_sub.sub, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (lt_or_eq_of_le, [lt_of_le_not_le, or.inl, not, le_antisymm, or.inr, classical.by_cases, id_rhs, eq, preorder.to_has_lt, has_lt.lt, or, partial_order.to_preorder, preorder.to_has_le, has_le.le, partial_order]), (lt_or_ge, [lt_trichotomy, le_of_lt, le_refl, eq.subst, or.inr, or.inl, id_rhs, or.dcases_on, eq, preorder.to_has_le, ge, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, or, linear_order]), (lt_or_gt_of_ne, [lt_trichotomy, or.inr, absurd, or.inl, id_rhs, or.dcases_on, eq, gt, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, or, ne, linear_order]), (lt_trans, [le_trans, lt_of_le_not_le, and.dcases_on, le_not_le_of_lt, not, preorder.to_has_le, has_le.le, and, id_rhs, preorder.to_has_lt, has_lt.lt, preorder]), (lt_trichotomy, [eq.symm, or.inr, or.inl, lt_or_eq_of_le, le_total, preorder.to_has_le, has_le.le, or.elim, eq, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, or, linear_order]), (max, [has_le.le.decidable, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ite, decidable_linear_order]), (max.equations._eqn_1, [eq.refl, has_le.le.decidable, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ite, max, eq, decidable_linear_order]), (max_choice, [true_or, if_false, iff_false_intro, false, not, trivial, or_true, eq_self_iff_true, propext, if_true, eq.refl, if_simp_congr, max.equations._eqn_1, iff_true_intro, decidable_linear_order.to_linear_order, decidable_of_decidable_of_iff, ite, congr_arg, congr, eq.trans, id, true, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, dite, max, eq, or, decidable_linear_order]), (max_comm, [max_le, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, le_max_left, le_max_right, eq_max, max, eq, decidable_linear_order]), (max_eq_left, [le_refl, eq_max, eq.symm, max, eq, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (max_eq_right, [max_eq_left, max_comm, eq.subst, max, eq, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (max_eq_right_of_lt, [le_of_lt, max_eq_right, max, eq, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, decidable_linear_order]), (max_idem, [lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, lattice.sup_is_idempotent, max, is_idempotent, decidable_linear_order]), (max_le, [not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, trivial, propext, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, eq.trans, true, eq.refl, max.equations._eqn_1, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, max, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (max_le_max, [lattice.lattice.to_semilattice_sup, lattice.sup_le_sup, max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (max_lt_iff, [trivial, iff_self, not_le, not_or_distrib, le_max_iff, ge.equations._eqn_1, or, has_le.le, congr_arg, congr, eq.trans, true, lt_iff_not_ge, propext, eq.refl, eq.rec, eq, id, decidable_linear_order.to_linear_order, linear_order.to_partial_order, preorder.to_has_le, ge, not, eq.mpr, and, max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, decidable_linear_order]), (measure, [nat.has_lt, has_lt.lt, inv_image, nat]), (measure_wf, [nat.lt_wf, nat.has_lt, has_lt.lt, inv_image.wf, measure, well_founded, nat]), (mem_gpowers_iff_mem_range_order_of, [gpow_eq_mod_order_of, int.has_coe, coe_base, coe_to_lift, coe, int.has_mod, has_mod.mod, eq.symm, order_of_pos, group.has_pow, int, finset.mem_range_iff_mem_finset_range_of_mod_eq, order_of, finset.range, group.to_monoid, monoid.has_pow, has_pow.pow, nat, finset.image, finset.has_mem, finset, gpowers, set.has_mem, set, has_mem.mem, iff, decidable_eq, fintype, group]), (mem_left_coset_iff, [eq_self_iff_true, mul_inv_cancel_left, and.intro, Exists.intro, trivial, iff_true_intro, propext, inv_mul_cancel_left, eq.symm, eq.refl, has_mul, congr_arg, congr, has_mem, eq.trans, id, true, eq.mpr, id_rhs, and.dcases_on, eq, and, Exists.dcases_on, iff.intro, group.to_has_inv, has_inv.inv, has_mul.mul, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, set.has_mem, has_mem.mem, iff, set, group]), (min, [has_le.le.decidable, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ite, decidable_linear_order]), (min.equations._eqn_1, [eq.refl, has_le.le.decidable, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ite, min, eq, decidable_linear_order]), (min_le_left, [le_of_not_le, not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, le_refl, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, true, eq.trans, eq.refl, min.equations._eqn_1, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, min, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (min_le_right, [le_refl, not_false_iff, iff.mpr, if_neg, iff_false_intro, false, not, trivial, propext, true.intro, if_pos, if_simp_congr, iff_true_intro, decidable_of_decidable_of_iff, eq.trans, true, eq.refl, min.equations._eqn_1, congr_arg, congr, has_le, eq, id, ite, eq.mpr, has_le.le.decidable, decidable_linear_order.le_total, decidable_linear_order.le_antisymm, decidable_linear_order.lt_iff_le_not_le, decidable_linear_order.le_trans, decidable_linear_order.le_refl, decidable_linear_order.lt, decidable_linear_order.le, linear_order.mk, dite, min, decidable_linear_order.to_linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable_linear_order]), (mk_equivalence, [and, and.intro, equivalence, transitive, symmetric, reflexive]), (module, [ring, out_param]), (module.add_smul, [module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, ring.to_distrib, distrib.to_has_add, has_add.add, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (module.mk, [module, ring.to_monoid, monoid.to_has_one, has_one.one, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ring.to_distrib, distrib.to_has_add, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_scalar.smul, eq, add_comm_group, has_scalar, ring, out_param]), (module.mul_smul, [ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (module.one_smul, [ring.to_monoid, monoid.to_has_one, has_one.one, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (module.smul_add, [module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (module.to_add_comm_group, [add_comm_group, module, ring]), (module.to_has_scalar, [has_scalar, module, ring]), (monoid, []), (monoid.has_pow, [monoid.pow, has_pow.mk, nat, has_pow, monoid]), (monoid.mk, [monoid, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (monoid.mul, [monoid]), (monoid.mul_assoc, [monoid.mul, has_mul.mk, has_mul.mul, eq, monoid]), (monoid.mul_one, [monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (monoid.one, [monoid]), (monoid.one_mul, [monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (monoid.pow, [monoid.pow._main, nat, monoid]), (monoid.pow._main, [pprod, punit, nat.rec, nat.add, pprod.fst, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.succ, monoid.to_has_one, has_one.one, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat, monoid]), (monoid.to_has_one, [monoid.one, has_one.mk, has_one, monoid]), (monoid.to_semigroup, [monoid.mul_assoc, monoid.mul, semigroup.mk, semigroup, monoid]), (mt, [not]), (mul_add, [left_distrib, distrib.to_has_add, has_add.add, distrib.to_has_mul, has_mul.mul, eq, distrib]), (mul_assoc, [semigroup.mul_assoc, semigroup.to_has_mul, has_mul.mul, eq, semigroup]), (mul_comm, [comm_semigroup.mul_comm, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_semigroup]), (mul_dvd_mul, [heq.refl, trivial, eq_self_iff_true, propext, mul_comm, has_mul, mul_left_comm, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, Exists.intro, Exists, id_rhs, eq.refl, eq.rec, comm_semiring.mul, heq, eq.dcases_on, eq, Exists.dcases_on, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (mul_dvd_mul_left, [dvd_refl, mul_dvd_mul, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (mul_eq_one_iff_eq_inv, [mul_right_inj, mul_left_inv, congr_arg, congr, eq.mp, eq.refl, id, group.to_right_cancel_semigroup, right_cancel_semigroup.to_semigroup, eq.mpr, group.to_has_inv, has_inv.inv, monoid.to_has_one, has_one.one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, iff, group]), (mul_eq_one_iff_inv_eq, [iff.refl, eq_comm, eq_inv_iff_eq_inv, mul_eq_one_iff_eq_inv, propext, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, monoid.to_has_one, has_one.one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, iff, group]), (mul_eq_zero, [mul_zero, domain.to_ring, ring.to_semiring, semiring.to_mul_zero_class, zero_mul, eq.refl, eq.rec, id, eq.mpr, or.elim, eq_zero_or_eq_zero_of_mul_eq_zero, iff.intro, or, no_zero_divisors.to_has_zero, has_zero.zero, domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, eq, iff, domain]), (mul_eq_zero_iff_eq_zero_or_eq_zero, [mul_zero, integral_domain.to_comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, zero_mul, eq.refl, eq.rec, id, eq.mpr, or.elim, eq_zero_or_eq_zero_of_mul_eq_zero, iff.intro, or, no_zero_divisors.to_has_zero, has_zero.zero, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, eq, iff, integral_domain]), (mul_inv_cancel, [division_ring.mul_inv_cancel, zero_ne_one_class.to_has_one, has_one.one, division_ring.to_has_inv, has_inv.inv, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, division_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (mul_inv_cancel_left, [one_mul, mul_right_inv, monoid.to_has_one, has_one.one, mul_assoc, eq.symm, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (mul_inv_rev, [one_mul, mul_right_inv, eq.symm, mul_assoc, eq.refl, eq.rec, id, monoid.to_has_one, has_one.one, eq.mpr, inv_eq_of_mul_eq_one, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, group.to_has_inv, has_inv.inv, eq, group]), (mul_inv_self, [mul_right_inv, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (mul_le_mul_left, [le_of_lt, mul_le_mul_of_nonneg_left, le_of_mul_le_mul_left, iff.intro, mul_zero_class.to_has_mul, has_mul.mul, preorder.to_has_le, has_le.le, iff, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (mul_le_mul_of_nonneg_left, [ordered_semiring.mul_le_mul_of_nonneg_left, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (mul_le_mul_of_nonneg_right, [ordered_semiring.mul_le_mul_of_nonneg_right, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (mul_le_mul_of_nonpos_right, [neg_nonneg_of_nonpos, mul_le_mul_of_nonneg_right, neg_mul_eq_mul_neg, eq.symm, eq.refl, eq, eq.rec, ring.to_semiring, eq.mp, le_of_neg_le_neg, ordered_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ge, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (mul_left_comm, [mul_assoc, mul_comm, left_comm, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_semigroup]), (mul_left_inv, [group.mul_left_inv, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (mul_lt_mul', [mul_lt_mul_of_pos_left, mul_le_mul_of_nonneg_right, lt_of_le_of_lt, mul_zero_class.to_has_mul, has_mul.mul, gt, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ge, preorder.to_has_lt, has_lt.lt, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (mul_lt_mul, [mul_le_mul_of_nonneg_left, mul_lt_mul_of_pos_right, lt_of_lt_of_le, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, preorder.to_has_le, has_le.le, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (mul_lt_mul_left, [mul_lt_mul_of_pos_left, le_of_lt, lt_of_mul_lt_mul_left, iff.intro, mul_zero_class.to_has_mul, has_mul.mul, iff, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (mul_lt_mul_of_neg_right, [neg_pos_of_neg, mul_lt_mul_of_pos_right, neg_mul_eq_mul_neg, eq.symm, eq.refl, eq, eq.rec, ring.to_semiring, eq.mp, lt_of_neg_lt_neg, ordered_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, gt, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (mul_lt_mul_of_pos_left, [ordered_semiring.mul_lt_mul_of_pos_left, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (mul_lt_mul_of_pos_right, [ordered_semiring.mul_lt_mul_of_pos_right, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (mul_lt_mul_right, [mul_lt_mul_of_pos_right, le_of_lt, lt_of_mul_lt_mul_right, iff.intro, mul_zero_class.to_has_mul, has_mul.mul, iff, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (mul_ne_zero, [eq_zero_or_eq_zero_of_mul_eq_zero, false, or.elim, eq, no_zero_divisors.to_has_mul, has_mul.mul, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, integral_domain]), (mul_neg_eq_neg_mul_symm, [neg_mul_eq_mul_neg, eq.symm, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ring]), (mul_neg_of_neg_of_pos, [mul_lt_mul_of_pos_right, zero_mul, eq.refl, eq, eq.rec, eq.mp, mul_zero_class.to_has_mul, has_mul.mul, gt, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (mul_neg_of_pos_of_neg, [mul_lt_mul_of_pos_left, mul_zero, eq.refl, eq, eq.rec, eq.mp, mul_zero_class.to_has_mul, has_mul.mul, has_lt.lt, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, ordered_semiring]), (mul_nonneg, [mul_le_mul_of_nonneg_right, zero_mul, eq.refl, eq, eq.rec, eq.mp, has_le.le, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, ordered_semiring]), (mul_nonneg_of_nonpos_of_nonpos, [mul_le_mul_of_nonpos_right, zero_mul, eq.refl, eq, eq.rec, mul_zero_class.to_has_zero, eq.mp, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (mul_one, [monoid.mul_one, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (mul_one_div_cancel, [trivial, eq_self_iff_true, true.intro, not_false_iff, iff_false_intro, propext, ne.def, false, not, iff.refl, iff, eq.rec, iff.mpr, mul_inv_cancel, ring.to_monoid, one_mul, division_def, eq.refl, has_mul, division_ring.to_has_inv, has_inv.inv, congr_arg, congr, eq.trans, id, true, eq.mpr, zero_ne_one_class.to_has_one, has_one.one, division_ring_has_div, has_div.div, division_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, division_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ne, division_ring]), (mul_pos, [mul_lt_mul_of_pos_right, zero_mul, eq.refl, eq, eq.rec, eq.mp, has_lt.lt, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, ordered_semiring]), (mul_pos_of_neg_of_neg, [mul_lt_mul_of_neg_right, zero_mul, eq.refl, eq, eq.rec, mul_zero_class.to_has_zero, eq.mp, ordered_ring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (mul_pow, [pprod, punit, nat.rec, nat.add, pprod.fst, eq.rec, eq.refl, mul_left_comm, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, mul_assoc, pow_succ, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, mul_one, has_mul, pow_zero, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, comm_monoid.to_monoid, monoid.has_pow, has_pow.pow, eq, nat, comm_monoid]), (mul_right_cancel, [right_cancel_semigroup.mul_right_cancel, right_cancel_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, right_cancel_semigroup]), (mul_right_comm, [mul_assoc, mul_comm, right_comm, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_semigroup]), (mul_right_inj, [congr_arg, mul_right_cancel, iff.intro, right_cancel_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, iff, right_cancel_semigroup]), (mul_right_inv, [mul_left_inv, id, eq.mpr, inv_inv, eq.refl, eq.rec, eq.mp, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, group]), (mul_self_eq_mul_self_iff, [neg_mul_neg, sub_self, add_group.to_add_monoid, add_monoid.to_has_zero, mul_self_sub_mul_self_eq, eq.symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, mul_comm, eq.refl, eq.rec, id, comm_ring.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, eq_zero_or_eq_zero_of_mul_eq_zero, eq_neg_of_add_eq_zero, or.inr, eq_of_sub_eq_zero, or.inl, or.elim, no_zero_divisors.to_has_zero, has_zero.zero, ring.to_distrib, distrib.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, iff.intro, integral_domain.to_comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, or, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, eq, iff, integral_domain]), (mul_self_eq_one_iff, [mul_self_eq_mul_self_iff, mul_one, eq.refl, monoid.to_has_one, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, eq.mp, integral_domain.to_comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, or, integral_domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, has_one.one, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, eq, iff, integral_domain]), (mul_self_sub_mul_self_eq, [trivial, eq_self_iff_true, propext, zero_add, add_right_neg, add_monoid.to_has_zero, has_zero.zero, true, eq.rec, add_comm, add_left_comm, mul_neg_eq_neg_mul_symm, comm_ring.to_comm_semigroup, mul_comm, right_distrib, has_add, left_distrib, eq.refl, has_mul, semiring.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.trans, sub_eq_add_neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, id, add_group.to_has_neg, has_neg.neg, distrib.to_has_mul, eq.mpr, ring.to_distrib, distrib.to_has_add, has_add.add, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq, comm_ring]), (mul_smul, [module.mul_smul, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (mul_sub_left_distrib, [trivial, eq_self_iff_true, propext, sub_eq_add_neg, mul_neg_eq_neg_mul_symm, eq.refl, has_add, congr_arg, congr, id, true, eq.mpr, left_distrib, add_group.to_has_neg, has_neg.neg, distrib.to_has_add, has_add.add, ring.to_distrib, distrib.to_has_mul, eq.trans, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ring]), (mul_sub_right_distrib, [trivial, eq_self_iff_true, propext, sub_eq_add_neg, neg_mul_eq_neg_mul_symm, eq.refl, has_add, congr_arg, congr, id, true, eq.mpr, right_distrib, add_group.to_has_neg, has_neg.neg, distrib.to_has_add, has_add.add, ring.to_distrib, distrib.to_has_mul, eq.trans, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ring]), (mul_zero, [mul_zero_class.mul_zero, mul_zero_class.to_has_zero, has_zero.zero, mul_zero_class.to_has_mul, has_mul.mul, eq, mul_zero_class]), (mul_zero_class, []), (mul_zero_class.mk, [mul_zero_class, has_zero.mk, has_zero.zero, has_mul.mk, has_mul.mul, eq]), (mul_zero_class.mul, [mul_zero_class]), (mul_zero_class.mul_zero, [mul_zero_class.zero, has_zero.mk, has_zero.zero, mul_zero_class.mul, has_mul.mk, has_mul.mul, eq, mul_zero_class]), (mul_zero_class.to_has_mul, [mul_zero_class.mul, has_mul.mk, has_mul, mul_zero_class]), (mul_zero_class.to_has_zero, [mul_zero_class.zero, has_zero.mk, has_zero, mul_zero_class]), (mul_zero_class.zero, [mul_zero_class]), (mul_zero_class.zero_mul, [mul_zero_class.zero, has_zero.mk, has_zero.zero, mul_zero_class.mul, has_mul.mk, has_mul.mul, eq, mul_zero_class]), (multiplicative, []), (multiplicative.comm_monoid, [multiplicative.comm_monoid._proof_4, multiplicative.comm_monoid._proof_3, multiplicative.comm_monoid._proof_2, monoid.one, multiplicative.comm_monoid._proof_1, add_comm_monoid.to_add_monoid, multiplicative.monoid, monoid.mul, comm_monoid.mk, multiplicative, comm_monoid, add_comm_monoid]), (multiplicative.comm_monoid._proof_1, [monoid.mul_assoc, add_comm_monoid.to_add_monoid, multiplicative.monoid, monoid.mul, has_mul.mk, has_mul.mul, eq, multiplicative, add_comm_monoid]), (multiplicative.comm_monoid._proof_2, [monoid.one_mul, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, add_comm_monoid.to_add_monoid, multiplicative.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, multiplicative, add_comm_monoid]), (multiplicative.comm_monoid._proof_3, [monoid.mul_one, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, add_comm_monoid.to_add_monoid, multiplicative.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, multiplicative, add_comm_monoid]), (multiplicative.comm_monoid._proof_4, [add_comm, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid]), (multiplicative.comm_semigroup, [multiplicative.comm_semigroup._proof_2, multiplicative.comm_semigroup._proof_1, add_comm_semigroup.to_add_semigroup, multiplicative.semigroup, semigroup.mul, comm_semigroup.mk, multiplicative, comm_semigroup, add_comm_semigroup]), (multiplicative.comm_semigroup._proof_1, [semigroup.mul_assoc, add_comm_semigroup.to_add_semigroup, multiplicative.semigroup, semigroup.mul, has_mul.mk, has_mul.mul, eq, multiplicative, add_comm_semigroup]), (multiplicative.comm_semigroup._proof_2, [add_comm, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, multiplicative, add_comm_semigroup]), (multiplicative.monoid, [multiplicative.monoid._proof_3, multiplicative.monoid._proof_2, add_monoid.to_has_zero, has_zero.zero, multiplicative.monoid._proof_1, add_monoid.to_add_semigroup, multiplicative.semigroup, semigroup.mul, monoid.mk, multiplicative, monoid, add_monoid]), (multiplicative.monoid._proof_1, [semigroup.mul_assoc, add_monoid.to_add_semigroup, multiplicative.semigroup, semigroup.mul, has_mul.mk, has_mul.mul, eq, multiplicative, add_monoid]), (multiplicative.monoid._proof_2, [zero_add, add_monoid.to_has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, multiplicative, add_monoid]), (multiplicative.monoid._proof_3, [add_zero, add_monoid.to_has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, multiplicative, add_monoid]), (multiplicative.semigroup, [multiplicative.semigroup._proof_1, add_semigroup.to_has_add, has_add.add, semigroup.mk, multiplicative, semigroup, add_semigroup]), (multiplicative.semigroup._proof_1, [add_assoc, add_semigroup.to_has_add, has_add.add, eq, multiplicative, add_semigroup]), (multiset, [list.perm.setoid, list, quotient]), (multiset.add, [multiset.add._proof_1, list.has_append, has_append.append, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, list, quotient.lift_on₂, multiset]), (multiset.add._proof_1, [list.perm_app, quot.sound, list.has_append, has_append.append, quot.mk, setoid.r, quot, eq, list.perm.setoid, setoid_has_equiv, has_equiv.equiv, list]), (multiset.add_comm, [list.perm_app_comm, list.has_append, has_append.append, setoid.r, quot.sound, list.perm.setoid, list, quotient.induction_on₂, multiset.has_add, has_add.add, eq, multiset]), (multiset.add_cons, [multiset.cons_add, add_comm, eq.refl, eq.rec, id, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, multiset.cons, multiset.has_add, has_add.add, eq, multiset]), (multiset.add_inter_distrib, [multiset.inter_add_distrib, add_comm, eq.refl, eq.rec, id, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, multiset.has_inter, has_inter.inter, multiset.has_add, has_add.add, eq, multiset, decidable_eq]), (multiset.add_le_add_left, [list.subperm_app_left, list.perm.setoid, list, quotient.induction_on₃, multiset.has_add, has_add.add, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset]), (multiset.add_left_cancel, [eq.symm, le_of_eq, multiset.add_le_add_left, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff.mp, multiset.partial_order, le_antisymm, multiset.has_add, has_add.add, eq, multiset]), (multiset.add_sub_cancel, [multiset.add_sub_cancel_left, add_comm, eq.refl, eq.rec, id, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, multiset.has_add, has_add.add, multiset.has_sub, has_sub.sub, eq, multiset, decidable_eq]), (multiset.add_sub_cancel_left, [multiset.erase_cons_head, multiset.sub_cons, multiset.erase, multiset.cons_add, eq.rec, multiset.cons, trivial, multiset.inhabited, forall_const, eq_self_iff_true, propext, multiset.sub_zero, eq.refl, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, zero_add, has_sub, congr_arg, congr, forall_congr_eq, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_add, has_add.add, multiset.has_sub, has_sub.sub, eq, multiset, decidable_eq]), (multiset.add_sub_of_le, [multiset.mem_cons_self, multiset.mem_of_le, multiset.cons_erase, eq.symm, eq.subst, multiset.cons_le_cons_iff, iff.mp, multiset.sub_cons, multiset.erase, multiset.cons_add, eq.rec, multiset.cons, trivial, multiset.inhabited, forall_const, forall_prop_of_true, eq_self_iff_true, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, zero_add, multiset.sub_zero, eq.refl, has_add, congr_arg, congr, zero_le, iff_true_intro, canonically_ordered_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, multiset.canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, propext, imp_congr_eq, true.intro, forall_congr_eq, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_sub, has_sub.sub, multiset.has_add, has_add.add, eq, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.attach, [multiset.attach._proof_1, subtype.mk, multiset.pmap, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.attach._proof_1, [id, multiset.has_mem, has_mem.mem, multiset]), (multiset.attach_map_val, [list.attach_map_val, multiset.has_coe, coe_base, coe_to_lift, coe, list.attach, list.has_mem, list.map, congr_arg, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.attach, subtype.val, multiset.has_mem, has_mem.mem, subtype, multiset.map, eq, multiset]), (multiset.bind, [multiset.map, multiset.join, multiset]), (multiset.bind.equations._eqn_1, [eq.refl, multiset.map, multiset.join, multiset.bind, eq, multiset]), (multiset.canonically_ordered_monoid, [multiset.le_iff_exists_add, multiset.canonically_ordered_monoid._proof_10, multiset.canonically_ordered_monoid._proof_9, multiset.canonically_ordered_monoid._proof_8, multiset.canonically_ordered_monoid._proof_7, multiset.canonically_ordered_monoid._proof_6, multiset.canonically_ordered_monoid._proof_5, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, multiset.canonically_ordered_monoid._proof_4, multiset.canonically_ordered_monoid._proof_3, multiset.canonically_ordered_monoid._proof_2, ordered_cancel_comm_monoid.zero, multiset.canonically_ordered_monoid._proof_1, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.add, canonically_ordered_monoid.mk, multiset, canonically_ordered_monoid]), (multiset.canonically_ordered_monoid._proof_1, [ordered_cancel_comm_monoid.add_assoc, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.add, has_add.mk, has_add.add, eq, multiset]), (multiset.canonically_ordered_monoid._proof_10, [lt_of_add_lt_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.canonically_ordered_monoid._proof_2, [ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_cancel_comm_monoid.add_assoc, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiset]), (multiset.canonically_ordered_monoid._proof_3, [ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_cancel_comm_monoid.add_assoc, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiset]), (multiset.canonically_ordered_monoid._proof_4, [ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_assoc, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiset]), (multiset.canonically_ordered_monoid._proof_5, [ordered_cancel_comm_monoid.le_refl, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, multiset]), (multiset.canonically_ordered_monoid._proof_6, [ordered_cancel_comm_monoid.le_trans, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, multiset]), (multiset.canonically_ordered_monoid._proof_7, [ordered_cancel_comm_monoid.lt_iff_le_not_le, name.anonymous, name.mk_string, not, ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, and, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.lt, has_lt.mk, has_lt.lt, iff, multiset, auto_param]), (multiset.canonically_ordered_monoid._proof_8, [ordered_cancel_comm_monoid.le_antisymm, eq, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.le, preorder.mk, preorder.to_has_le, has_le.le, multiset]), (multiset.canonically_ordered_monoid._proof_9, [ordered_cancel_comm_monoid.add_le_add_left, ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.le_antisymm, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.card, [multiset.card._proof_1, list.length, list.perm.setoid, setoid.r, list, quot.lift_on, nat, multiset]), (multiset.card._proof_1, [list.perm_length, list.length, nat, eq, list.perm, list]), (multiset.card_add, [list.length_append, list.perm.setoid, list, quotient.induction_on₂, nat.has_add, multiset.has_add, has_add.add, multiset.card, nat, eq, multiset]), (multiset.card_attach, [multiset.attach._proof_1, subtype.mk, multiset.card_pmap, multiset.attach, multiset.has_mem, has_mem.mem, subtype, multiset.card, nat, eq, multiset]), (multiset.card_bind, [trivial, eq_self_iff_true, propext, function.comp_app, multiset.has_mem, has_mem.mem, multiset.map_congr, multiset.map_map, add_comm_monoid, multiset.card_join, multiset.bind.equations._eqn_1, multiset.join, congr_arg, congr, eq.trans, id, true, eq.mpr, function.comp, multiset.map, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, multiset.sum, multiset.bind, multiset.card, nat, eq, multiset]), (multiset.card_cons, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, nat.has_one, has_one.one, nat.has_add, has_add.add, multiset.cons, multiset.card, nat, eq, multiset]), (multiset.card_eq_zero, [trivial, eq_self_iff_true, propext, eq.refl, multiset.card_zero, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_of_eq, multiset.zero_le, multiset.eq_of_le_of_card_le, eq.symm, iff.intro, multiset.has_zero, nat.has_zero, has_zero.zero, multiset.card, nat, eq, iff, multiset]), (multiset.card_erase_of_mem, [list.length_erase_of_mem, list.perm.setoid, setoid.r, list, quot.induction_on, nat.pred, multiset.erase, multiset.card, nat, eq, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.card_join, [multiset.inhabited, forall_const, imp_self, add_left_inj, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, multiset.sum_cons, multiset.map_cons, add_monoid.to_add_semigroup, add_semigroup.to_has_add, multiset.card_add, multiset.join_cons, multiset.has_add, nat.has_add, has_add.add, eq.refl, imp_congr_eq, forall_congr_eq, multiset.cons, trivial, eq_self_iff_true, propext, multiset.sum_zero, multiset.map_zero, add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, multiset.card_zero, multiset.join_zero, congr_arg, congr, nat.has_zero, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.map, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, multiset.sum, multiset.join, multiset.card, nat, eq, multiset]), (multiset.card_le_of_le, [list.length_le_of_sublist, list, multiset.le_induction_on, multiset.card, nat.has_le, nat, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.card_lt_of_lt, [le_of_lt, multiset.eq_of_le_of_card_le, ne_of_lt, linear_order.to_partial_order, preorder.to_has_le, ge, nat.linear_order, lt_of_not_ge, multiset.card, nat.has_lt, nat, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.card_map, [list.length_map, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.map, multiset.card, nat, eq, multiset]), (multiset.card_pmap, [list.length_pmap, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.pmap, multiset.card, nat, eq, multiset.has_mem, has_mem.mem, multiset]), (multiset.card_pos_iff_exists_mem, [list.length_pos_iff_exists_mem, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_mem, has_mem.mem, Exists, multiset.card, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, multiset]), (multiset.card_product, [trivial, eq_self_iff_true, propext, eq.refl, nat.smul_eq_mul, list.sum_repeat, multiset.coe_sum, multiset.repeat.equations._eqn_1, multiset.map_const, multiset.card_map, function.comp.equations._eqn_1, congr_fun, multiset.has_mem, has_mem.mem, multiset.map_congr, multiset.repeat, add_comm_monoid, multiset.card_bind, multiset.product.equations._eqn_1, multiset.bind, prod.mk, function.comp, multiset.map, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset.sum, list.repeat, add_monoid.to_has_zero, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, list.sum, nat.add_monoid, add_monoid.smul, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_mul, has_mul.mul, multiset.product, prod, multiset.card, nat, eq, multiset]), (multiset.card_range, [list.length_range, multiset.range, multiset.card, eq, nat]), (multiset.card_zero, [rfl, nat.has_zero, multiset.has_zero, multiset, has_zero.zero, multiset.card, nat, eq]), (multiset.coe_add, [rfl, list.has_append, has_append.append, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.has_add, has_add.add, multiset, eq, list]), (multiset.coe_bind, [list.map_map, function.comp, multiset.coe_join, eq.symm, multiset.join, list.bind.equations._eqn_1, eq.refl, eq.rec, id, list.map, list.join, eq.mpr, list.bind, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.bind, multiset, eq, list]), (multiset.coe_card, [rfl, list.length, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.card, nat, eq, list]), (multiset.coe_eq_coe, [list.perm.setoid, quotient.eq, list.perm, multiset.has_coe, coe_base, coe_to_lift, coe, multiset, eq, iff, list]), (multiset.coe_fold_l, [trivial, eq_self_iff_true, propext, eq.refl, is_commutative.comm, funext, congr_arg, congr, id, true, eq.mpr, multiset.coe_foldr_swap, multiset.fold._proof_1, multiset.foldr, eq.trans, list.foldl, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.fold, eq, list, is_associative, is_commutative]), (multiset.coe_foldr_swap, [list.foldr_reverse, multiset.coe_reverse, congr_arg, eq.symm, list.reverse, eq.trans, list.foldl, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.foldr, eq, list, left_commutative]), (multiset.coe_join, [pprod, punit, list.rec, pprod.fst, congr_arg, multiset.has_add, has_add.add, list.cons, rfl, id_rhs, list.nil, list.cases_on, list.below, list.brec_on, list.join, list.map, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.join, multiset, eq, list]), (multiset.coe_le, [iff.rfl, list.subperm, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, multiset, has_le.le, iff, list]), (multiset.coe_map, [rfl, list.map, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.map, multiset, eq, list]), (multiset.coe_nodup, [iff.rfl, list.nodup, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.nodup, iff, list]), (multiset.coe_prod, [multiset.prod_eq_foldl, monoid.to_has_one, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, list.prod, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.prod, eq, list, comm_monoid]), (multiset.coe_product, [list.perm.refl, multiset.coe_eq_coe, propext, multiset.coe_map, funext, congr_arg, congr, eq.trans, list.perm, multiset.coe_bind, eq.symm, list.product.equations._eqn_1, list.map, list.bind, multiset.product.equations._eqn_1, eq.refl, eq.rec, id, prod.mk, multiset.map, multiset.bind, eq.mpr, list.product, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.product, prod, multiset, eq, list]), (multiset.coe_reverse, [list.reverse_perm, list.perm.setoid, setoid.r, quot.sound, list.reverse, multiset.has_coe, coe_base, coe_to_lift, coe, multiset, eq, list]), (multiset.coe_sum, [multiset.sum_eq_foldl, add_monoid.to_has_zero, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, list.sum, multiset.has_coe, coe_base, coe_to_lift, multiset, coe, multiset.sum, eq, list, add_comm_monoid]), (multiset.cons, [multiset.cons._proof_1, list.cons, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset]), (multiset.cons._proof_1, [list.perm_cons, list.perm, iff.mpr, quot.sound, list.cons, quot.mk, quot, eq, list.perm.setoid, setoid.r, list]), (multiset.cons_add, [add_assoc, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, multiset.singleton_add, eq.symm, eq.refl, eq.rec, id, list.nil, list.cons, multiset.has_coe, coe_base, coe_to_lift, list, coe, eq.mpr, multiset.cons, multiset.has_add, has_add.add, eq, multiset]), (multiset.cons_coe, [rfl, list.cons, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.cons, multiset, eq, list]), (multiset.cons_erase, [list.perm_erase, list.perm.symm, list.erase, list.cons, quot.sound, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.erase, multiset.cons, eq, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.cons_inj_right, [trivial, iff_self, list.perm_cons, multiset.coe_eq_coe, propext, multiset.cons_coe, multiset.quot_mk_to_coe'', eq.refl, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, congr_arg, congr, list.perm, eq.trans, id, true, eq.mpr, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, eq, iff, multiset]), (multiset.cons_inter_of_neg, [list.cons_bag_inter_of_neg, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, list.bag_inter, congr_arg, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, multiset.cons, multiset.has_inter, has_inter.inter, eq, multiset.has_mem, has_mem.mem, not, multiset, decidable_eq]), (multiset.cons_inter_of_pos, [list.cons_bag_inter_of_pos, multiset.has_coe, coe_base, coe_to_lift, coe, list.erase, list.cons, list.bag_inter, congr_arg, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, multiset.erase, multiset.cons, multiset.has_inter, has_inter.inter, eq, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.cons_le_cons, [multiset.cons_le_cons_iff, iff.mpr, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.cons_le_cons_iff, [list.subperm_cons, list.perm.setoid, list, quotient.induction_on₂, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset]), (multiset.cons_ndunion, [quotient.mk, rfl, list.perm.setoid, list, quotient.induction_on₂, multiset.ndinsert, multiset.cons, multiset.ndunion, eq, multiset, decidable_eq]), (multiset.cons_subset, [trivial, iff_self, forall_eq, forall_and_distrib, or_imp_distrib, eq.refl, multiset.mem_cons, imp_congr_eq, or, forall_congr_eq, multiset.subset_iff, propext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, multiset.has_mem, has_mem.mem, and, multiset.cons, multiset.has_subset, has_subset.subset, iff, multiset]), (multiset.count, [eq, multiset.countp, nat, multiset, decidable_eq]), (multiset.count.equations._eqn_1, [eq.refl, multiset.countp, multiset.count, nat, multiset, eq, decidable_eq]), (multiset.count_cons_of_ne, [multiset.countp_cons_of_neg, multiset.cons, multiset.count, nat, eq, multiset, ne, decidable_eq]), (multiset.count_cons_self, [rfl, multiset.countp_cons_of_pos, nat.succ, multiset.cons, multiset.count, nat, eq, multiset, decidable_eq]), (multiset.count_eq_zero, [nat.pos_iff_ne_zero, multiset.count_pos, iff.symm, nat.has_lt, has_lt.lt, iff.trans, nat.decidable_eq, multiset.decidable_mem, iff_not_comm, iff.mp, multiset.has_mem, has_mem.mem, not, nat.has_zero, has_zero.zero, multiset.count, nat, eq, iff, multiset, decidable_eq]), (multiset.count_eq_zero_of_not_mem, [nat.pos_of_ne_zero, multiset.count_pos, nat.has_lt, has_lt.lt, iff.mp, nat.decidable_eq, by_contradiction, nat.has_zero, has_zero.zero, multiset.count, nat, eq, multiset.has_mem, has_mem.mem, not, multiset, decidable_eq]), (multiset.count_erase_of_ne, [multiset.erase_of_not_mem, not, multiset.cons_erase, multiset.count_cons_of_ne, eq.symm, eq.refl, eq.rec, id, multiset.cons, eq.mpr, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.erase, multiset.count, nat, eq, multiset, ne, decidable_eq]), (multiset.count_erase_self, [multiset.count_eq_zero, iff.mpr, nat.has_zero, has_zero.zero, multiset.erase_of_not_mem, not, multiset.count_cons_self, nat.succ, multiset.cons_erase, eq.refl, eq.rec, id, multiset.cons, eq.mpr, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, nat.pred, multiset.erase, multiset.count, nat, eq, multiset, decidable_eq]), (multiset.count_pos, [trivial, iff_self, exists_eq_right', exists_prop, funext, multiset.countp_pos, propext, multiset.count.equations._eqn_1, congr_fun, eq.refl, has_lt, multiset.countp, and, Exists, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, multiset.has_mem, has_mem.mem, multiset.count, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, multiset, decidable_eq]), (multiset.count_sub, [multiset.count_cons_of_ne, multiset.count_erase_of_ne, nat.pred_sub, nat.sub_succ, multiset.count_cons_self, nat.succ, multiset.count_erase_self, nat.pred, dite, multiset.sub_cons, eq.rec, multiset.erase, multiset.cons, trivial, multiset.inhabited, forall_const, eq_self_iff_true, propext, nat.sub_zero, true.intro, not_false_iff, multiset.not_mem_zero, iff_false_intro, not_congr, false, iff.trans, multiset.has_mem, has_mem.mem, not, iff.mpr, multiset.count_eq_zero_of_not_mem, has_sub, nat.has_zero, multiset.sub_zero, eq.refl, eq.drec, congr_arg, congr, forall_congr_eq, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, nat.has_sub, multiset.has_sub, has_sub.sub, multiset.count, nat, eq, multiset, decidable_eq]), (multiset.countp, [multiset.countp._proof_1, list.countp, list.perm.setoid, setoid.r, list, quot.lift_on, nat, multiset, decidable_pred]), (multiset.countp._proof_1, [list.perm_countp, list.countp, nat, eq, list.perm, list, decidable_pred]), (multiset.countp_cons_of_neg, [list.countp_cons_of_neg, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.countp, nat, eq, not, multiset, decidable_pred]), (multiset.countp_cons_of_pos, [list.countp_cons_of_pos, list.perm.setoid, setoid.r, list, quot.induction_on, nat.has_one, has_one.one, nat.has_add, has_add.add, multiset.cons, multiset.countp, nat, eq, multiset, decidable_pred]), (multiset.countp_eq_card_filter, [list.countp_eq_length_filter, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.filter, multiset.card, multiset.countp, nat, eq, multiset, decidable_pred]), (multiset.countp_pos, [trivial, iff_self, exists_prop, multiset.mem_filter, funext, multiset.card_pos_iff_exists_mem, propext, multiset.countp_eq_card_filter, eq.refl, has_lt, multiset.card, multiset.filter, congr_arg, congr, and, eq.trans, eq, id, true, eq.mpr, multiset.has_mem, has_mem.mem, Exists, multiset.countp, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt, iff, multiset, decidable_pred]), (multiset.decidable_dexists_multiset, [multiset.decidable_dexists_multiset._proof_3, multiset.decidable_dexists_multiset._proof_2, multiset.decidable_exists_multiset, multiset.decidable_dexists_multiset._proof_1, subtype.val, multiset.attach, subtype, decidable_of_decidable_of_iff, Exists, decidable, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dexists_multiset._match_1, [Exists.intro, id_rhs, subtype.mk, subtype.cases_on, Exists.dcases_on, subtype.property, subtype.val, multiset.attach, subtype, Exists, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dexists_multiset._match_2, [multiset.mem_attach, subtype.mk, Exists.intro, id_rhs, Exists.dcases_on, subtype.property, subtype.val, multiset.attach, subtype, Exists, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dexists_multiset._proof_1, [subtype.property, subtype.val, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.decidable_dexists_multiset._proof_2, [subtype.property, subtype.val, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.decidable_dexists_multiset._proof_3, [multiset.decidable_dexists_multiset._match_2, multiset.decidable_dexists_multiset._match_1, iff.intro, subtype.property, subtype.val, multiset.attach, subtype, Exists, iff, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dforall_multiset, [multiset.decidable_dforall_multiset._proof_3, multiset.decidable_dforall_multiset._proof_2, multiset.decidable_forall_multiset, multiset.decidable_dforall_multiset._proof_1, subtype.val, multiset.attach, subtype, decidable_of_decidable_of_iff, decidable, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dforall_multiset._match_1, [subtype.mk, id_rhs, subtype.cases_on, subtype.property, subtype.val, multiset.attach, subtype, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_dforall_multiset._proof_1, [subtype.property, subtype.val, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.decidable_dforall_multiset._proof_2, [subtype.property, subtype.val, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.decidable_dforall_multiset._proof_3, [multiset.decidable_dforall_multiset._match_1, multiset.mem_attach, subtype.mk, iff.intro, subtype.property, subtype.val, multiset.attach, subtype, iff, multiset.has_mem, has_mem.mem, multiset]), (multiset.decidable_exists_multiset, [list.decidable_exists_mem, multiset.decidable_exists_multiset._proof_1, list.perm.setoid, list, quotient.rec_on_subsingleton, multiset.has_mem, has_mem.mem, Exists, decidable, decidable_pred, multiset]), (multiset.decidable_exists_multiset._proof_1, [decidable.subsingleton, list.perm.setoid, quotient.mk, multiset.has_mem, multiset, has_mem.mem, Exists, decidable, subsingleton, list]), (multiset.decidable_forall_multiset, [list.decidable_forall_mem, multiset.decidable_forall_multiset._proof_2, list.has_mem, quotient.mk, decidable_of_iff, multiset.decidable_forall_multiset._proof_1, list.perm.setoid, list, quotient.rec_on_subsingleton, multiset.has_mem, has_mem.mem, decidable, multiset]), (multiset.decidable_forall_multiset._proof_1, [decidable.subsingleton, list.perm.setoid, quotient.mk, multiset.has_mem, multiset, has_mem.mem, decidable, subsingleton, list]), (multiset.decidable_forall_multiset._proof_2, [trivial, iff_self, multiset.mem_coe, propext, multiset.quot_mk_to_coe, has_mem, multiset.has_coe, coe_base, coe_to_lift, coe, imp_congr_eq, forall_congr_eq, eq.refl, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, list.perm.setoid, quotient.mk, multiset.has_mem, multiset, list.has_mem, has_mem.mem, iff, list]), (multiset.decidable_mem, [list.decidable_mem, multiset.decidable_mem._proof_1, list.perm.setoid, setoid.r, list, quot.rec_on_subsingleton, multiset.has_mem, has_mem.mem, decidable, multiset, decidable_eq]), (multiset.decidable_mem._proof_1, [decidable.subsingleton, list.perm.setoid, setoid.r, quot.mk, multiset.has_mem, multiset, has_mem.mem, decidable, subsingleton, list]), (multiset.eq_of_le_of_card_le, [list.eq_of_sublist_of_length_le, congr_arg, multiset.has_coe, coe_base, coe_to_lift, coe, list.sublist, list, multiset.le_induction_on, eq, multiset.card, nat.has_le, nat, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.eq_union_left, [multiset.sub_add_cancel, multiset.has_union, has_union.union, eq, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.eq_zero_of_forall_not_mem, [list.eq_nil_of_forall_not_mem, eq.refl, eq.rec, id, list.nil, eq.mpr, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, eq, multiset.has_mem, has_mem.mem, not, multiset]), (multiset.erase, [multiset.erase._proof_1, list.erase, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, decidable_eq]), (multiset.erase._proof_1, [list.erase_perm_erase, quot.sound, list.erase, quot.mk, quot, eq, list.perm.setoid, setoid.r, list, decidable_eq]), (multiset.erase_cons_head, [list.erase_cons_head, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, list.erase, congr_arg, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.erase, eq, multiset, decidable_eq]), (multiset.erase_dup, [multiset.erase_dup._proof_1, list.erase_dup, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, decidable_eq]), (multiset.erase_dup._proof_1, [list.perm_erase_dup_of_perm, quot.sound, list.erase_dup, quot.mk, quot, eq, list.perm.setoid, setoid.r, list, decidable_eq]), (multiset.erase_dup_cons, [multiset.cons_inj_right, multiset.ndinsert_of_not_mem, not_false_iff, iff_false_intro, not_congr, false, multiset.erase_dup_cons_of_not_mem, not, trivial, eq_self_iff_true, propext, multiset.mem_erase_dup, iff.trans, multiset.ndinsert_of_mem, true.intro, iff_true_intro, iff.mpr, multiset.erase_dup_cons_of_mem, congr_arg, congr, eq.trans, id, true, eq.mpr, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.ndinsert, multiset.cons, multiset.erase_dup, eq, multiset, decidable_eq]), (multiset.erase_dup_cons_of_mem, [list.erase_dup_cons_of_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, list.erase_dup, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.erase_dup, eq, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.erase_dup_cons_of_not_mem, [list.erase_dup_cons_of_not_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, list.erase_dup, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.erase_dup, eq, multiset.has_mem, has_mem.mem, not, multiset, decidable_eq]), (multiset.erase_dup_eq_self, [list.erase_dup_eq_self, list.nodup, iff.mpr, multiset.has_coe, coe_base, coe_to_lift, coe, list.erase_dup, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.nodup_erase_dup, eq.subst, iff.intro, multiset.nodup, multiset.erase_dup, eq, iff, multiset, decidable_eq]), (multiset.erase_dup_ext, [trivial, iff_self, eq.refl, multiset.mem_erase_dup, forall_congr_eq, true.intro, multiset.nodup_erase_dup, iff_true_intro, multiset.nodup, iff.mpr, multiset.nodup_ext, propext, congr_arg, congr, eq.trans, id, true, eq.mpr, multiset.has_mem, has_mem.mem, multiset.erase_dup, eq, iff, multiset, decidable_eq]), (multiset.erase_dup_map_erase_dup_eq, [trivial, forall_true_iff, iff_self, eq.refl, multiset.mem_erase_dup, funext, multiset.mem_map, congr_arg, congr, and, Exists, forall_congr_eq, multiset.erase_dup_ext, propext, multiset.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, multiset.map, multiset.erase_dup, eq, multiset, decidable_eq]), (multiset.erase_dup_zero, [rfl, multiset.has_zero, has_zero.zero, multiset.erase_dup, multiset, eq, decidable_eq]), (multiset.erase_le, [list.erase_sublist, list.erase, list.subperm_of_sublist, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.erase, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.erase_le_erase, [list.erase_sublist_erase, list.erase, list.subperm_of_sublist, list.sublist, list, multiset.le_induction_on, multiset.erase, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.erase_le_iff_le_cons, [multiset.le_cons_of_not_mem, multiset.erase_le, not, multiset.cons_erase, eq.symm, eq.refl, eq, eq.rec, eq.mp, multiset.cons_le_cons_iff, iff.mp, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.cons_le_cons, multiset.le_cons_erase, le_trans, iff.intro, multiset.cons, multiset.erase, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_eq]), (multiset.erase_of_not_mem, [list.erase_of_not_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.erase, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.erase, eq, multiset.has_mem, has_mem.mem, not, multiset, decidable_eq]), (multiset.erase_subset, [multiset.erase_le, multiset.subset_of_le, multiset.erase, multiset.has_subset, has_subset.subset, multiset, decidable_eq]), (multiset.exists_mem_of_ne_zero, [trivial, true_or, eq_self_iff_true, list.mem_cons_iff, multiset.mem_coe, propext, multiset.quot_mk_to_coe'', eq.refl, congr_arg, congr, has_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_mem, or, eq.trans, eq, id, true, eq.mpr, Exists.intro, list.cons, rfl, false.elim, list.nil, id_rhs, list.cases_on, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_mem, has_mem.mem, Exists, multiset.has_zero, has_zero.zero, ne, multiset]), (multiset.filter, [multiset.filter._proof_1, list.filter, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, decidable_pred]), (multiset.filter._proof_1, [list.perm_filter, quot.sound, list.filter, quot.mk, quot, eq, list.perm.setoid, setoid.r, list, decidable_pred]), (multiset.filter_eq_self, [list.filter_eq_self, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.card, nat, congr_arg, list.filter_sublist, list.eq_of_sublist_of_length_eq, iff.intro, list.filter, quot.mk, iff.trans, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_mem, has_mem.mem, multiset.filter, eq, iff, multiset, decidable_pred]), (multiset.filter_le, [list.filter_sublist, list.filter, list.subperm_of_sublist, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.filter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_pred]), (multiset.filter_le_filter, [list.filter_sublist_filter, list.filter, list.subperm_of_sublist, list.sublist, list, multiset.le_induction_on, multiset.filter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_pred]), (multiset.filter_map, [multiset.filter_map._proof_1, list.filter_map, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, option]), (multiset.filter_map._proof_1, [list.perm_filter_map, quot.sound, list.filter_map, quot.mk, quot, eq, list.perm.setoid, setoid.r, list, option]), (multiset.filter_subset, [multiset.filter_le, multiset.subset_of_le, multiset.filter, multiset.has_subset, has_subset.subset, multiset, decidable_pred]), (multiset.fold, [multiset.fold._proof_1, multiset.foldr, multiset, is_associative, is_commutative]), (multiset.fold._proof_1, [is_associative.assoc, is_commutative.comm, left_comm, left_commutative, is_associative, is_commutative]), (multiset.fold_add, [is_associative.assoc, is_commutative.comm, left_comm, eq_true_intro, of_eq_true, multiset.fold_cons_left, multiset.add_cons, eq.drec, eq.trans, congr_arg, congr, imp_congr_ctx_eq, forall_congr_eq, multiset.fold_cons_right, multiset.fold_cons'_right, eq.symm, multiset.cons, multiset.fold_zero, add_zero, eq.refl, add_monoid.to_has_zero, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, id, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_add, has_add.add, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_cons'_right, [eq.symm, multiset.foldl_cons, multiset.fold_eq_foldl, eq.refl, eq.rec, id, is_associative.assoc, is_commutative.comm, right_comm, multiset.foldl, eq.mpr, multiset.cons, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_cons_left, [multiset.fold._proof_1, multiset.foldr_cons, multiset.cons, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_cons_right, [trivial, eq_self_iff_true, propext, is_commutative.comm, multiset.fold_cons_left, congr_arg, congr, eq.trans, id, true, eq.mpr, multiset.cons, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_distrib, [is_commutative.comm, left_comm, is_associative.assoc, eq.symm, eq_true_intro, of_eq_true, multiset.fold_cons_left, multiset.map_cons, imp_congr_ctx_eq, forall_congr_eq, multiset.cons, trivial, eq_self_iff_true, propext, multiset.fold_zero, multiset.map_zero, eq.drec, eq.refl, eq.rec, congr_arg, congr, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.map, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_eq_foldl, [multiset.coe_fold_l, list.perm.setoid, setoid.r, list, quot.induction_on, is_associative.assoc, is_commutative.comm, right_comm, multiset.foldl, multiset.fold, eq, multiset, is_associative, is_commutative]), (multiset.fold_erase_dup_idem, [not_false_iff, iff_false_intro, not_congr, false, iff.trans, multiset.erase_dup_cons_of_not_mem, not, is_idempotent.idempotent, is_associative.assoc, multiset.cons_erase, eq.symm, multiset.erase, multiset.fold_cons_left, true.intro, iff_true_intro, iff.mpr, multiset.erase_dup_cons_of_mem, multiset.cons, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, trivial, eq_self_iff_true, propext, multiset.fold_zero, multiset.erase_dup_zero, eq.drec, eq.refl, eq.rec, congr_arg, congr, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.erase_dup, multiset.fold, eq, multiset, is_idempotent, decidable_eq, is_associative, is_commutative]), (multiset.fold_hom, [forall_2_true_iff, forall_true_iff, multiset.fold_cons_left, multiset.map_cons, imp_congr_ctx_eq, forall_congr_eq, multiset.cons, trivial, eq_self_iff_true, propext, multiset.fold_zero, multiset.map_zero, eq.drec, eq.refl, eq.rec, congr_arg, congr, eq.trans, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.map, multiset.fold, multiset, eq, is_associative, is_commutative]), (multiset.fold_zero, [rfl, multiset.has_zero, multiset, has_zero.zero, multiset.fold, eq, is_associative, is_commutative]), (multiset.foldl, [multiset.foldl._proof_1, list.foldl, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, right_commutative]), (multiset.foldl._proof_1, [list.foldl_eq_of_perm, list.foldl, eq, list.perm.setoid, setoid.r, list, right_commutative]), (multiset.foldl_cons, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.foldl, eq, multiset, right_commutative]), (multiset.foldr, [multiset.foldr._proof_1, list.foldr, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, left_commutative]), (multiset.foldr._proof_1, [list.foldr_eq_of_perm, list.foldr, eq, list.perm.setoid, setoid.r, list, left_commutative]), (multiset.foldr_cons, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.foldr, eq, multiset, left_commutative]), (multiset.foldr_swap, [multiset.coe_foldr_swap, list.perm.setoid, setoid.r, list, quot.induction_on, eq.symm, multiset.foldl, multiset.foldr, eq, multiset, left_commutative]), (multiset.has_add, [multiset.add, has_add.mk, multiset, has_add]), (multiset.has_coe, [list.perm.setoid, setoid.r, quot.mk, has_coe.mk, multiset, list, has_coe]), (multiset.has_decidable_eq, [multiset.has_decidable_eq._main, multiset, decidable_eq]), (multiset.has_decidable_eq._main, [list.decidable_perm, quotient.eq, setoid_has_equiv, has_equiv.equiv, decidable_of_iff', quotient.mk, decidable.subsingleton, list.perm.setoid, list, quotient.rec_on_subsingleton₂, eq, decidable, id_rhs, multiset, decidable_eq]), (multiset.has_inter, [multiset.inter, has_inter.mk, multiset, has_inter, decidable_eq]), (multiset.has_mem, [multiset.mem, has_mem.mk, multiset, has_mem]), (multiset.has_sub, [multiset.sub, has_sub.mk, multiset, has_sub, decidable_eq]), (multiset.has_subset, [multiset.subset, has_subset.mk, multiset, has_subset]), (multiset.has_union, [multiset.union, has_union.mk, multiset, has_union, decidable_eq]), (multiset.has_zero, [multiset.zero, has_zero.mk, multiset, has_zero]), (multiset.induction, [quot.mk, list.rec, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.has_zero, has_zero.zero, multiset]), (multiset.induction_on, [multiset.induction, multiset.cons, multiset.has_zero, has_zero.zero, multiset]), (multiset.inhabited, [multiset.has_zero, has_zero.zero, inhabited.mk, multiset, inhabited]), (multiset.inter, [multiset.inter._proof_1, list.bag_inter, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, list, quotient.lift_on₂, multiset, decidable_eq]), (multiset.inter._proof_1, [list.perm_bag_inter_left, list.perm_bag_inter_right, eq.subst, quot.sound, list.bag_inter, quot.mk, setoid.r, quot, eq, list.perm.setoid, setoid_has_equiv, has_equiv.equiv, list, decidable_eq]), (multiset.inter_add_distrib, [multiset.cons_add, eq.symm, eq.refl, eq.rec, eq.mp, le_trans, le_of_add_le_add_right, multiset.lt_cons_self, not_le_of_lt, multiset.inter_le_right, multiset.inter_le_left, add_le_add_right, multiset.le_inter, lt_of_le_of_ne, multiset.lt_iff_cons_le, preorder.to_has_lt, has_lt.lt, iff.mp, false, Exists, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, Exists.dcases_on, not, multiset.has_decidable_eq, decidable.by_contradiction, multiset.has_inter, has_inter.inter, multiset.has_add, has_add.add, eq, multiset, decidable_eq]), (multiset.inter_le_left, [list.bag_inter_sublist_left, list.bag_inter, list.subperm_of_sublist, list.perm.setoid, list, quotient.induction_on₂, multiset.has_inter, has_inter.inter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.inter_le_ndinter, [multiset.inter_le_right, multiset.subset_of_le, multiset.inter_le_left, and.intro, multiset.le_ndinter, multiset.has_subset, has_subset.subset, and, iff.mpr, multiset.ndinter, multiset.has_inter, has_inter.inter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.inter_le_right, [trivial, propext, not_false_iff, iff_false_intro, not_congr, false, iff.trans, multiset.cons_inter_of_neg, eq.trans, not, multiset.cons_le_cons, multiset.cons_erase, eq.mp, eq.refl, true.intro, iff_true_intro, true, iff.mpr, multiset.cons_inter_of_pos, congr_arg, congr, has_le, eq, id, multiset.erase, eq.mpr, multiset.cons, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.zero_le, multiset.zero_inter, eq.symm, multiset.has_zero, has_zero.zero, eq.subst, multiset.induction_on, multiset.has_inter, has_inter.inter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.join, [multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, multiset.sum, multiset]), (multiset.join_cons, [multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, multiset.sum_cons, multiset.has_add, has_add.add, multiset.cons, multiset.join, eq, multiset]), (multiset.join_zero, [rfl, multiset.has_zero, has_zero.zero, multiset.join, multiset, eq]), (multiset.le, [multiset.le._proof_1, list.subperm, list.perm.setoid, list, quotient.lift_on₂, multiset]), (multiset.le._proof_1, [list.perm.subperm_right, list.perm.subperm_left, iff.trans, propext, list.subperm, eq, list.perm.setoid, setoid_has_equiv, has_equiv.equiv, list]), (multiset.le_add_left, [multiset.zero_le, add_le_add_right, zero_add, ordered_cancel_comm_monoid.to_add_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, le_add_iff_nonneg_right, add_monoid.to_add_semigroup, add_semigroup.to_has_add, propext, add_comm_monoid.to_add_comm_semigroup, add_comm, eq.refl, congr_arg, congr, has_le, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, eq.trans, eq, id, multiset.has_zero, has_zero.zero, eq.mpr, multiset.has_add, has_add.add, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.le_add_right, [multiset.zero_le, add_le_add_left, eq.refl, add_zero, congr_arg, congr, has_le, eq.trans, ordered_cancel_comm_monoid.to_add_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, le_add_iff_nonneg_right, add_monoid.to_has_zero, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, propext, eq, id, multiset.has_zero, has_zero.zero, eq.mpr, multiset.has_add, has_add.add, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.le_cons_erase, [multiset.le_cons_self, multiset.erase_of_not_mem, eq.refl, eq.rec, eq, id, eq.mpr, not, multiset.cons_erase, eq.symm, le_of_eq, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.erase, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_cons_of_not_mem, [multiset.le_cons_self, le_trans, multiset.mem_cons_self, eq.symm, list.sublist_or_mem_of_sublist, list.has_mem, or.resolve_right, list.subperm_of_sublist, list.subperm_cons, list.perm_middle, list.perm.subperm_left, list.subperm, iff.mpr, eq.rec, list.mem_split, list.cons, list.has_append, has_append.append, eq, Exists, Exists.dcases_on, multiset.has_coe, coe_base, coe_to_lift, coe, list.sublist, list, multiset.le_induction_on, multiset.cons_le_cons_iff, iff.mp, iff.intro, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset.has_mem, has_mem.mem, not, multiset]), (multiset.le_cons_self, [multiset.lt_cons_self, le_of_lt, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.le_filter, [multiset.filter_le_filter, multiset.filter_eq_self, eq, iff.mpr, eq.subst, id_rhs, and.dcases_on, multiset.mem_of_le, multiset.of_mem_filter, multiset.filter_le, le_trans, and.intro, iff.intro, multiset.has_mem, has_mem.mem, and, multiset.filter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_pred]), (multiset.le_iff_exists_add, [multiset.le_add_right, eq.symm, eq.subst, list.exists_perm_append_of_sublist, list.perm.setoid, setoid.r, quot.sound, Exists.intro, id_rhs, multiset.has_coe, coe_base, coe_to_lift, coe, Exists.dcases_on, list.has_append, has_append.append, list.perm, list.sublist, list, multiset.le_induction_on, iff.intro, multiset.has_add, has_add.add, eq, Exists, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset]), (multiset.le_iff_subset, [list.subperm_of_subset_nodup, multiset.subset_of_le, iff.intro, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, multiset.has_subset, has_subset.subset, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset.nodup, multiset]), (multiset.le_induction_on, [setoid.r, quot.sound, eq, eq.subst, quotient, id_rhs, list.perm, Exists, Exists.dcases_on, quotient.mk, list.perm.setoid, quotient.induction_on₂, multiset.has_coe, coe_base, coe_to_lift, coe, list.sublist, list, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.le_inter, [multiset.mem_of_le, mt, multiset.le_cons_of_not_mem, iff.mp, multiset.cons_inter_of_neg, not, multiset.erase_le_erase, iff.mpr, multiset.erase_le_iff_le_cons, eq.symm, multiset.cons_inter_of_pos, eq.rec, multiset.erase, multiset.decidable_mem, multiset.has_mem, has_mem.mem, dite, multiset.cons, trivial, iff_true_intro, propext, multiset.zero_inter, eq.refl, congr_arg, congr, has_le, eq.trans, eq, id, true, eq.mpr, multiset.has_zero, has_zero.zero, multiset.induction_on, multiset.has_inter, has_inter.inter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_ndinsert_self, [list.suffix_insert, list.sublist_of_suffix, list.insert, list.subperm_of_sublist, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.ndinsert, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_ndinter, [trivial, iff_self, multiset.subset_iff, multiset.le_filter, propext, multiset.ndinter.equations._eqn_1, eq.refl, has_le, multiset.decidable_mem, multiset.filter, congr_arg, congr, multiset.has_mem, has_mem.mem, eq.trans, eq, id, true, eq.mpr, multiset.has_subset, has_subset.subset, and, multiset.ndinter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_eq]), (multiset.le_ndunion_left, [multiset.subset_ndunion_left, multiset.le_iff_subset, multiset.has_subset, has_subset.subset, iff.mpr, multiset.ndunion, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset.nodup, multiset, decidable_eq]), (multiset.le_ndunion_right, [list.suffix_union_right, list.sublist_of_suffix, list.union, list.subperm_of_sublist, list.perm.setoid, list, quotient.induction_on₂, multiset.ndunion, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_sub_add, [le_refl, multiset.sub_le_iff_le_add, iff.mp, multiset.has_sub, has_sub.sub, multiset.has_add, has_add.add, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_union_left, [multiset.le_sub_add, multiset.has_union, has_union.union, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.le_union_right, [multiset.has_sub, has_sub.sub, multiset.le_add_left, multiset.has_union, has_union.union, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.lt_cons_self, [list.perm_length, nat.lt_succ_self, nat.succ, list.length, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, nat, ne_of_lt, list.sublist_cons, list.subperm_of_sublist, and.intro, multiset.coe_eq_coe, ne.def, multiset.coe_le, lt_iff_le_and_ne, propext, multiset.cons_coe, eq.refl, multiset.quot_mk_to_coe'', congr_arg, congr, has_lt, ne, multiset.has_coe, coe_base, coe_to_lift, coe, preorder.to_has_le, has_le.le, eq.trans, eq, id, quot.mk, eq.mpr, list.perm, not, list.cons, list.subperm, and, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.lt_iff_cons_le, [multiset.lt_cons_self, lt_of_lt_of_le, id_rhs, Exists.dcases_on, multiset.card_lt_of_lt, le_of_lt, list.subperm.exists_of_length_lt, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, iff.intro, multiset.cons, preorder.to_has_le, has_le.le, Exists, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, multiset]), (multiset.map, [multiset.map._proof_1, list.map, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset]), (multiset.map._proof_1, [list.perm_map, quot.sound, list.map, quot.mk, quot, eq, list.perm.setoid, setoid.r, list]), (multiset.map_add, [list.map_append, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_append, has_append.append, list.map, congr_arg, list.perm.setoid, list, quotient.induction_on₂, multiset.has_add, has_add.add, multiset.map, eq, multiset]), (multiset.map_congr, [list.map_congr, multiset.has_coe, coe_base, coe_to_lift, coe, list.map, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.map, eq, multiset.has_mem, has_mem.mem, multiset]), (multiset.map_cons, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.map, eq, multiset]), (multiset.map_const, [list.map_const, multiset.has_coe, coe_base, coe_to_lift, coe, list.length, list.repeat, list.map, congr_arg, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.card, multiset.repeat, function.const, multiset.map, eq, multiset]), (multiset.map_map, [list.map_map, multiset.has_coe, coe_base, coe_to_lift, coe, list.map, congr_arg, list.perm.setoid, setoid.r, list, quot.induction_on, function.comp, multiset.map, eq, multiset]), (multiset.map_zero, [rfl, multiset.has_zero, has_zero.zero, multiset.map, multiset, eq]), (multiset.mem, [multiset.mem._proof_1, list.has_mem, has_mem.mem, list.perm.setoid, setoid.r, list, quot.lift_on, multiset]), (multiset.mem._proof_1, [list.mem_of_perm, propext, list.has_mem, has_mem.mem, eq, list.perm, list]), (multiset.mem_add, [list.mem_append, list.perm.setoid, list, quotient.induction_on₂, or, multiset.has_add, has_add.add, multiset.has_mem, has_mem.mem, iff, multiset]), (multiset.mem_attach, [list.mem_attach, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.attach, multiset.has_mem, has_mem.mem, subtype, multiset]), (multiset.mem_bind, [trivial, iff_self, exists_eq_left', exists_and_distrib_left, and_assoc, true, exists_swap, eq.rec, exists_and_distrib_right, iff.symm, multiset.mem_map, exists_prop, funext, multiset.mem_join, propext, multiset.bind.equations._eqn_1, eq.refl, has_mem, multiset.join, multiset.map, eq.trans, congr_arg, congr, id, eq, and, eq.mpr, Exists, multiset.bind, multiset.has_mem, has_mem.mem, iff, multiset]), (multiset.mem_coe, [iff.rfl, list.has_mem, multiset.has_coe, coe_base, coe_to_lift, coe, multiset.has_mem, multiset, has_mem.mem, iff, list]), (multiset.mem_cons, [quot.mk, iff.rfl, list.perm.setoid, setoid.r, list, quot.induction_on, eq, or, multiset.cons, multiset.has_mem, has_mem.mem, iff, multiset]), (multiset.mem_cons_self, [rfl, or.inl, multiset.mem_cons, eq, or, iff.mpr, multiset.cons, multiset.has_mem, has_mem.mem, multiset]), (multiset.mem_erase_dup, [list.mem_erase_dup, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.erase_dup, multiset.has_mem, has_mem.mem, iff, multiset, decidable_eq]), (multiset.mem_erase_iff_of_nodup, [trivial, iff_self, and_comm, multiset.mem_filter, propext, eq.drec, has_mem, ne.def, funext, decidable_pred, congr_arg, congr, not, eq.trans, true, multiset.nodup_erase_eq_filter, eq.refl, eq.rec, eq, id, ne.decidable, multiset.filter, eq.mpr, ne, and, multiset.erase, multiset.has_mem, has_mem.mem, iff, multiset.nodup, multiset, decidable_eq]), (multiset.mem_filter, [list.mem_filter, list.perm.setoid, setoid.r, list, quot.induction_on, and, multiset.filter, multiset.has_mem, has_mem.mem, iff, multiset, decidable_pred]), (multiset.mem_filter_map, [list.mem_filter_map, list.perm.setoid, setoid.r, list, quot.induction_on, option.some, eq, and, Exists, multiset.filter_map, multiset.has_mem, has_mem.mem, iff, multiset, option]), (multiset.mem_join, [multiset.inhabited, forall_const, forall_true_iff, exists_eq_left, exists_or_distrib, or_and_distrib_right, multiset.mem_cons, multiset.mem_add, multiset.join_cons, multiset.has_add, has_add.add, or, exists_prop, imp_congr_ctx_eq, and, forall_congr_eq, multiset.cons, trivial, iff_self, exists_false, true.intro, not_false_iff, not_congr, iff.trans, iff.mpr, exists_prop_of_false, not, funext, multiset.not_mem_zero, iff_false_intro, propext, multiset.join_zero, eq.refl, has_mem, congr_arg, congr, false, eq.trans, eq, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, Exists, multiset.join, multiset.has_mem, has_mem.mem, iff, multiset]), (multiset.mem_map, [list.mem_map, list.perm.setoid, setoid.r, list, quot.induction_on, eq, and, Exists, multiset.map, multiset.has_mem, has_mem.mem, iff, multiset]), (multiset.mem_ndinsert, [list.mem_insert_iff, list.perm.setoid, setoid.r, list, quot.induction_on, eq, or, multiset.ndinsert, multiset.has_mem, has_mem.mem, iff, multiset, decidable_eq]), (multiset.mem_ndinsert_self, [rfl, or.inl, multiset.mem_ndinsert, eq, or, iff.mpr, multiset.ndinsert, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.mem_ndinter, [multiset.decidable_mem, multiset.mem_filter, and, multiset.ndinter, multiset.has_mem, has_mem.mem, iff, multiset, decidable_eq]), (multiset.mem_ndunion, [list.mem_union, list.perm.setoid, list, quotient.induction_on₂, or, multiset.ndunion, multiset.has_mem, has_mem.mem, iff, multiset, decidable_eq]), (multiset.mem_of_le, [multiset.subset_of_le, multiset.mem_of_subset, multiset.has_mem, has_mem.mem, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.mem_of_mem_erase, [multiset.erase_subset, multiset.mem_of_subset, multiset.erase, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.mem_of_subset, [multiset.has_mem, has_mem.mem, multiset.has_subset, has_subset.subset, multiset]), (multiset.mem_pmap, [list.mem_pmap, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, eq, Exists, multiset.pmap, iff, multiset.has_mem, has_mem.mem, multiset]), (multiset.mem_product, [trivial, iff_self, exists_eq_left, exists_prop, exists_eq_right, exists_and_distrib_left, and.left_comm, prod.mk.inj_iff, multiset.mem_map, funext, multiset.mem_bind, propext, multiset.product.equations._eqn_1, eq.refl, has_mem, multiset.bind, multiset.map, Exists, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, prod.mk, id_rhs, prod.cases_on, prod.snd, prod.fst, and, multiset.product, multiset.has_mem, has_mem.mem, iff, prod, multiset]), (multiset.mem_range, [list.mem_range, nat.has_lt, has_lt.lt, multiset.range, multiset.has_mem, multiset, has_mem.mem, iff, nat]), (multiset.mem_singleton, [trivial, iff_self, or_false, multiset.not_mem_zero, iff_false_intro, eq.refl, multiset.mem_cons, propext, false, or, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, multiset.has_zero, has_zero.zero, multiset.cons, multiset.has_mem, multiset, has_mem.mem, iff]), (multiset.mem_sub_of_nodup, [multiset.le_sub_add, multiset.mem_add, or, multiset.has_add, has_add.add, or.resolve_right, id_rhs, and.dcases_on, multiset.count_pos, nat.has_lt, has_lt.lt, iff.mpr, multiset.nodup_iff_count_le_one, nat.has_one, has_one.one, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_trans, nat.sub_eq_zero_iff_le, propext, nat.has_le, has_le.le, multiset.count_sub, eq.refl, eq.rec, id, nat.has_sub, eq.mpr, multiset.count_eq_zero, nat.has_zero, has_zero.zero, multiset.count, nat, eq, iff.mp, multiset.sub_le_self, multiset.mem_of_le, and.intro, iff.intro, not, and, multiset.has_sub, has_sub.sub, multiset.has_mem, has_mem.mem, iff, multiset.nodup, multiset, decidable_eq]), (multiset.ndinsert, [multiset.ndinsert._proof_1, list.insert, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, list, quot.lift_on, multiset, decidable_eq]), (multiset.ndinsert._proof_1, [list.perm_insert, quot.sound, list.insert, quot.mk, quot, eq, list.perm.setoid, setoid.r, list, decidable_eq]), (multiset.ndinsert_le, [multiset.le_cons_of_not_mem, multiset.cons_le_cons_iff, multiset.cons_erase, eq.symm, multiset.erase, multiset.ndinsert_of_not_mem, eq.rec, multiset.cons, not, trivial, propext, eq.refl, true.intro, iff_true_intro, iff.mpr, multiset.ndinsert_of_mem, congr_arg, congr, has_le, eq.trans, eq, id, true, eq.mpr, multiset.decidable_mem, dite, id_rhs, and.dcases_on, multiset.mem_ndinsert_self, multiset.mem_of_le, multiset.le_ndinsert_self, le_trans, and.intro, iff.intro, multiset.has_mem, has_mem.mem, and, multiset.ndinsert, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_eq]), (multiset.ndinsert_of_mem, [list.insert_of_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_insert, insert, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.ndinsert, eq, multiset.has_mem, has_mem.mem, multiset, decidable_eq]), (multiset.ndinsert_of_not_mem, [list.insert_of_not_mem, multiset.has_coe, coe_base, coe_to_lift, coe, list.cons, list.has_insert, insert, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.cons, multiset.ndinsert, eq, multiset.has_mem, has_mem.mem, not, multiset, decidable_eq]), (multiset.ndinter, [multiset.decidable_mem, multiset.has_mem, has_mem.mem, multiset.filter, multiset, decidable_eq]), (multiset.ndinter.equations._eqn_1, [eq.refl, multiset.decidable_mem, multiset.has_mem, has_mem.mem, multiset.filter, multiset.ndinter, eq, multiset, decidable_eq]), (multiset.ndinter_eq_inter, [multiset.inter_le_ndinter, multiset.ndinter_le_right, multiset.ndinter_le_left, multiset.le_inter, multiset.partial_order, le_antisymm, multiset.has_inter, has_inter.inter, multiset.ndinter, eq, multiset.nodup, multiset, decidable_eq]), (multiset.ndinter_le_left, [le_refl, multiset.le_ndinter, and, iff.mp, multiset.has_subset, has_subset.subset, and.left, multiset.ndinter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.ndinter_le_right, [multiset.ndinter_subset_right, multiset.nodup_ndinter, multiset.le_iff_subset, multiset.has_subset, has_subset.subset, iff.mpr, multiset.ndinter, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset.nodup, multiset, decidable_eq]), (multiset.ndinter_subset_right, [le_refl, multiset.le_ndinter, and, iff.mp, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, and.right, multiset.ndinter, multiset.has_subset, has_subset.subset, multiset, decidable_eq]), (multiset.ndunion, [multiset.ndunion._proof_1, list.union, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, list, quotient.lift_on₂, multiset, decidable_eq]), (multiset.ndunion._proof_1, [list.perm_union, quot.sound, list.union, quot.mk, setoid.r, quot, eq, list.perm.setoid, setoid_has_equiv, has_equiv.equiv, list, decidable_eq]), (multiset.ndunion_eq_union, [multiset.le_ndunion_right, multiset.le_ndunion_left, multiset.union_le, multiset.ndunion_le_union, multiset.partial_order, le_antisymm, multiset.has_union, has_union.union, multiset.ndunion, eq, multiset.nodup, multiset, decidable_eq]), (multiset.ndunion_le, [forall_2_true_iff, forall_true_iff, multiset.cons_subset, and.left_comm, and_comm, multiset.ndinsert_le, multiset.cons_ndunion, multiset.ndinsert, multiset.has_mem, has_mem.mem, imp_congr_ctx_eq, forall_congr_eq, multiset.cons, trivial, iff_self, true_and, multiset.zero_subset, iff_true_intro, propext, eq.refl, multiset.zero_ndunion, has_le, congr_arg, congr, eq.trans, eq, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_subset, has_subset.subset, and, multiset.ndunion, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_eq]), (multiset.ndunion_le_union, [multiset.le_union_right, multiset.le_union_left, multiset.subset_of_le, and.intro, multiset.ndunion_le, multiset.has_subset, has_subset.subset, and, iff.mpr, multiset.has_union, has_union.union, multiset.ndunion, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.nodup, [multiset.nodup._proof_1, list.nodup, list.perm.setoid, setoid.r, list, quot.lift_on, multiset]), (multiset.nodup._proof_1, [list.perm_nodup, propext, list.nodup, eq, list.perm.setoid, setoid.r, list]), (multiset.nodup_attach, [list.nodup_attach, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.attach, multiset.has_mem, has_mem.mem, subtype, multiset.nodup, iff, multiset]), (multiset.nodup_cons, [list.nodup_cons, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_mem, has_mem.mem, not, and, multiset.cons, multiset.nodup, iff, multiset]), (multiset.nodup_cons_of_nodup, [and.intro, multiset.nodup_cons, and, iff.mpr, multiset.cons, multiset.nodup, multiset.has_mem, has_mem.mem, not, multiset]), (multiset.nodup_erase_dup, [list.nodup_erase_dup, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.erase_dup, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_erase_eq_filter, [list.nodup_erase_eq_filter, multiset.has_coe, coe_base, coe_to_lift, coe, list.filter, list.erase, congr_arg, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, ne.decidable, ne, multiset.filter, multiset.erase, eq, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_erase_of_nodup, [multiset.erase_le, multiset.nodup_of_le, multiset.erase, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_ext, [list.perm_ext, quotient.eq, setoid_has_equiv, has_equiv.equiv, quotient, iff.trans, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, multiset.has_mem, has_mem.mem, eq, iff, multiset.nodup, multiset]), (multiset.nodup_filter, [list.nodup_filter, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.filter, multiset.nodup, multiset, decidable_pred]), (multiset.nodup_filter_map, [list.nodup_filter_map, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.filter_map, multiset.nodup, eq, option.has_mem, has_mem.mem, multiset, option]), (multiset.nodup_iff_count_le_one, [list.nodup_iff_count_le_one, list.perm.setoid, setoid.r, list, quot.induction_on, nat.has_one, has_one.one, multiset.count, nat.has_le, nat, has_le.le, multiset.nodup, iff, multiset, decidable_eq]), (multiset.nodup_map, [eq, multiset.has_mem, has_mem.mem, multiset.nodup_map_on, multiset.map, multiset.nodup, function.injective, multiset]), (multiset.nodup_map_on, [list.nodup_map_on, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.map, multiset.nodup, eq, multiset.has_mem, has_mem.mem, multiset]), (multiset.nodup_ndinsert, [list.nodup_insert, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.ndinsert, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_ndinter, [multiset.decidable_mem, multiset.has_mem, has_mem.mem, multiset.nodup_filter, multiset.ndinter, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_ndunion, [list.nodup_union, list.perm.setoid, list, quotient.induction_on₂, multiset.ndunion, multiset.nodup, multiset, decidable_eq]), (multiset.nodup_of_le, [list.nodup_of_sublist, list, multiset.le_induction_on, multiset.nodup, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.nodup_pmap, [list.nodup_pmap, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.pmap, multiset.nodup, eq, multiset.has_mem, has_mem.mem, multiset]), (multiset.nodup_product, [trivial, list.nodup_product, iff_true_intro, multiset.coe_nodup, propext, multiset.coe_product, multiset.quot_mk_to_coe, congr, congr_arg, multiset.has_coe, coe_base, coe_to_lift, coe, list.product, list.nodup, eq.trans, eq, id, true, eq.mpr, quotient.mk, list.perm.setoid, list, quotient.induction_on₂, multiset.product, prod, multiset.nodup, multiset]), (multiset.nodup_range, [list.nodup_range, multiset.range, multiset.nodup, nat]), (multiset.nodup_singleton, [list.nodup_singleton, multiset.has_zero, multiset, has_zero.zero, multiset.cons, multiset.nodup]), (multiset.nodup_zero, [ne, list.pairwise.nil, multiset.has_zero, multiset, has_zero.zero, multiset.nodup]), (multiset.not_mem_range_self, [list.not_mem_range_self, multiset.range, multiset.has_mem, multiset, has_mem.mem, not, nat]), (multiset.not_mem_zero, [id, multiset.has_zero, has_zero.zero, multiset.has_mem, multiset, has_mem.mem, not]), (multiset.of_mem_filter, [multiset.mem_filter, and, iff.mp, and.right, multiset.filter, multiset.has_mem, has_mem.mem, multiset, decidable_pred]), (multiset.ordered_cancel_comm_monoid, [multiset.ordered_cancel_comm_monoid._proof_9, multiset.ordered_cancel_comm_monoid._proof_8, multiset.ordered_cancel_comm_monoid._proof_7, multiset.ordered_cancel_comm_monoid._proof_6, multiset.ordered_cancel_comm_monoid._proof_5, multiset.ordered_cancel_comm_monoid._proof_4, partial_order.lt, multiset.partial_order, partial_order.le, multiset.ordered_cancel_comm_monoid._proof_3, multiset.add_left_cancel, multiset.add_comm, multiset.ordered_cancel_comm_monoid._proof_2, multiset.zero_add, multiset.has_zero, has_zero.zero, multiset.ordered_cancel_comm_monoid._proof_1, multiset.has_add, has_add.add, ordered_cancel_comm_monoid.mk, multiset, ordered_cancel_comm_monoid]), (multiset.ordered_cancel_comm_monoid._proof_1, [list.append_assoc, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_append, has_append.append, congr_arg, list.perm.setoid, list, quotient.induction_on₃, multiset.has_add, has_add.mk, has_add.add, eq, multiset]), (multiset.ordered_cancel_comm_monoid._proof_2, [multiset.zero_add, multiset.add_comm, eq.refl, eq.rec, id, eq.mpr, multiset.has_zero, has_zero.mk, has_zero.zero, list.append_assoc, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_append, has_append.append, congr_arg, has_add.mk, list.perm.setoid, list, quotient.induction_on₃, multiset.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiset]), (multiset.ordered_cancel_comm_monoid._proof_3, [eq.mp, eq.refl, multiset.add_comm, congr, id, eq.mpr, multiset.add_left_cancel, list.append_assoc, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_append, has_append.append, congr_arg, has_add.mk, list.perm.setoid, list, quotient.induction_on₃, multiset.has_add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiset]), (multiset.ordered_cancel_comm_monoid._proof_4, [partial_order.le_refl, multiset.partial_order, partial_order.le, has_le.mk, has_le.le, multiset]), (multiset.ordered_cancel_comm_monoid._proof_5, [partial_order.le_trans, multiset.partial_order, partial_order.le, has_le.mk, has_le.le, multiset]), (multiset.ordered_cancel_comm_monoid._proof_6, [partial_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, partial_order.le, has_le.mk, has_le.le, and, multiset.partial_order, partial_order.lt, has_lt.mk, has_lt.lt, iff, multiset, auto_param]), (multiset.ordered_cancel_comm_monoid._proof_7, [partial_order.le_antisymm, eq, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, multiset.partial_order, partial_order.le, preorder.mk, preorder.to_has_le, has_le.le, multiset]), (multiset.ordered_cancel_comm_monoid._proof_8, [multiset.add_le_add_left, iff.mpr, multiset.has_add, has_add.add, partial_order.le_antisymm, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, multiset.partial_order, partial_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.ordered_cancel_comm_monoid._proof_9, [multiset.add_le_add_left, iff.mp, multiset.has_add, has_add.add, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.partial_order, [multiset.partial_order._proof_4, multiset.partial_order._proof_3, multiset.partial_order._proof_2, multiset.partial_order._proof_1, preorder.lt._default, multiset.le, partial_order.mk, multiset, partial_order]), (multiset.partial_order._proof_1, [list.subperm.refl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.le, has_le.mk, has_le.le, multiset]), (multiset.partial_order._proof_2, [list.subperm.trans, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.le, has_le.mk, has_le.le, multiset]), (multiset.partial_order._proof_3, [iff.refl, multiset.le, preorder.lt._default, has_lt.mk, has_lt.lt, iff, multiset]), (multiset.partial_order._proof_4, [list.subperm.antisymm, quot.sound, quot.mk, list.perm.setoid, setoid.r, list, quot.induction_on, eq, multiset.le, multiset]), (multiset.pmap, [multiset.pmap._proof_1, list.pmap, multiset.has_coe, coe_base, coe_to_lift, coe, quot.mk, list.perm.setoid, setoid.r, list, quot.rec_on, multiset.has_mem, has_mem.mem, multiset]), (multiset.pmap._proof_1, [list.mem_of_perm, iff.mp, eq.refl, eq.drec, list.perm_pmap, eq.trans, list.has_mem, funext, quot.sound, list.pmap, multiset.has_coe, coe_base, coe_to_lift, coe, quot, eq.rec, list.perm.setoid, setoid.r, quot.mk, multiset.has_mem, multiset, has_mem.mem, eq, list.perm, list]), (multiset.prod, [monoid.to_has_one, has_one.one, multiset.prod._proof_1, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, multiset.foldr, multiset, comm_monoid]), (multiset.prod._proof_1, [trivial, eq_self_iff_true, propext, comm_monoid.to_comm_semigroup, mul_left_comm, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid]), (multiset.prod_eq_foldl, [eq.drec, mul_comm, comm_semigroup.to_semigroup, funext, right_commutative, eq.rec, multiset.foldr_swap, eq.symm, multiset.prod._proof_1, multiset.foldr, monoid.to_has_one, has_one.one, trivial, eq_self_iff_true, propext, comm_monoid.to_comm_semigroup, mul_right_comm, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, multiset.foldl, multiset.prod, eq, multiset, comm_monoid]), (multiset.prod_repeat, [trivial, eq_self_iff_true, propext, eq.refl, list.prod_repeat, multiset.coe_prod, multiset.repeat.equations._eqn_1, multiset.has_coe, coe_base, coe_to_lift, multiset, list, coe, list.repeat, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, list.prod, congr_arg, congr, eq.trans, id, true, eq.mpr, comm_monoid.to_monoid, monoid.has_pow, has_pow.pow, multiset.repeat, multiset.prod, eq, nat, comm_monoid]), (multiset.product, [prod.mk, multiset.map, multiset.bind, prod, multiset]), (multiset.product.equations._eqn_1, [eq.refl, prod.mk, multiset.map, multiset.bind, multiset.product, prod, eq, multiset]), (multiset.quot_mk_to_coe'', [rfl, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, setoid.r, quot.mk, multiset, eq, list]), (multiset.quot_mk_to_coe, [rfl, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, quotient.mk, multiset, eq, list]), (multiset.range, [list.range, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset, nat]), (multiset.range.equations._eqn_1, [eq.refl, list.range, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset.range, multiset, eq, nat]), (multiset.range_subset, [list.range_subset, nat.has_le, has_le.le, multiset.range, multiset.has_subset, multiset, has_subset.subset, iff, nat]), (multiset.range_succ, [add_comm, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, multiset.coe_add, eq.symm, multiset.has_add, list.range_concat, nat.has_one, has_one.one, nat.has_add, has_add.add, list.nil, list.cons, list.has_append, has_append.append, multiset.range.equations._eqn_1, eq.refl, eq.rec, id, list.range, multiset.has_coe, coe_base, coe_to_lift, list, coe, eq.mpr, multiset.cons, nat.succ, multiset.range, multiset, eq, nat]), (multiset.repeat, [list.repeat, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset, nat]), (multiset.repeat.equations._eqn_1, [eq.refl, list.repeat, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset.repeat, multiset, eq, nat]), (multiset.singleton_add, [rfl, multiset.cons, list.nil, list.cons, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset.has_add, has_add.add, eq, multiset]), (multiset.strong_induction_on, [multiset.strong_induction_on._main, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.strong_induction_on._main, [multiset.strong_induction_on._main._pack, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.strong_induction_on._main._pack, [multiset.card_lt_of_lt, strong_induction_on._main._pack._wf_rec_mk_dec_tactic._aux_1, nat.has_lt, nat, id_rhs, has_well_founded.wf, measure_wf, multiset.card, measure, has_well_founded.mk, has_well_founded.r, well_founded.fix, multiset.partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, multiset]), (multiset.sub, [multiset.sub._proof_1, list.diff, multiset.has_coe, coe_base, coe_to_lift, coe, list.perm.setoid, list, quotient.lift_on₂, multiset, decidable_eq]), (multiset.sub._proof_1, [list.perm_diff_left, list.perm_diff_right, eq.subst, quot.sound, list.diff, quot.mk, setoid.r, quot, eq, list.perm.setoid, setoid_has_equiv, has_equiv.equiv, list, decidable_eq]), (multiset.sub_add', [list.diff_append, multiset.has_coe, coe_base, coe_to_lift, coe, list.has_append, has_append.append, list.diff, congr_arg, list.perm.setoid, list, quotient.induction_on₃, multiset.has_add, has_add.add, multiset.has_sub, has_sub.sub, eq, multiset, decidable_eq]), (multiset.sub_add_cancel, [multiset.add_sub_of_le, add_comm, eq.refl, eq.rec, id, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, multiset.has_sub, has_sub.sub, multiset.has_add, has_add.add, eq, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.sub_cons, [list.diff_cons, multiset.has_coe, coe_base, coe_to_lift, coe, list.erase, list.cons, list.diff, congr_arg, list.perm.setoid, list, quotient.induction_on₂, multiset.erase, multiset.cons, multiset.has_sub, has_sub.sub, eq, multiset, decidable_eq]), (multiset.sub_le_iff_le_add, [multiset.add_cons, multiset.erase_le_iff_le_cons, multiset.sub_cons, multiset.erase, multiset.cons, trivial, multiset.inhabited, forall_const, iff_self, propext, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_zero, eq.refl, multiset.sub_zero, has_le, congr_arg, congr, forall_congr_eq, eq.trans, eq, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_add, has_add.add, multiset.has_sub, has_sub.sub, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, multiset, decidable_eq]), (multiset.sub_le_self, [multiset.le_add_right, multiset.sub_le_iff_le_add, multiset.has_add, has_add.add, iff.mpr, multiset.has_sub, has_sub.sub, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.sub_le_sub_right, [true.intro, multiset.erase_le_erase, iff.mpr, multiset.sub_cons, multiset.erase, multiset.cons, trivial, multiset.inhabited, forall_const, forall_true_iff, iff_true_intro, propext, multiset.sub_zero, congr_arg, congr, has_le, eq.refl, imp_congr_ctx_eq, forall_congr_eq, eq.trans, eq, id, true, multiset.has_zero, has_zero.zero, eq.mpr, multiset.induction_on, multiset.has_sub, has_sub.sub, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.sub_zero, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, multiset.has_sub, has_sub.sub, eq, multiset, decidable_eq]), (multiset.subset, [multiset.has_mem, has_mem.mem, multiset]), (multiset.subset.trans, [multiset.has_mem, has_mem.mem, multiset.has_subset, has_subset.subset, multiset]), (multiset.subset_iff, [iff.rfl, multiset.has_mem, has_mem.mem, multiset.has_subset, has_subset.subset, iff, multiset]), (multiset.subset_ndunion_left, [or.inl, multiset.mem_ndunion, or, iff.mpr, multiset.has_mem, has_mem.mem, multiset.ndunion, multiset.has_subset, has_subset.subset, multiset, decidable_eq]), (multiset.subset_of_le, [list.subset_of_subperm, list.perm.setoid, list, quotient.induction_on₂, multiset.has_subset, has_subset.subset, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.sum, [add_monoid.to_has_zero, has_zero.zero, multiset.sum._proof_1, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, multiset.foldr, multiset, add_comm_monoid]), (multiset.sum._proof_1, [trivial, eq_self_iff_true, propext, add_comm_monoid.to_add_comm_semigroup, add_left_comm, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_comm_monoid]), (multiset.sum_cons, [add_monoid.to_has_zero, has_zero.zero, multiset.sum._proof_1, multiset.foldr_cons, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, multiset.cons, multiset.sum, eq, multiset, add_comm_monoid]), (multiset.sum_eq_foldl, [eq.drec, add_comm, add_comm_semigroup.to_add_semigroup, funext, right_commutative, eq.rec, multiset.foldr_swap, eq.symm, multiset.sum._proof_1, multiset.foldr, add_monoid.to_has_zero, has_zero.zero, trivial, eq_self_iff_true, propext, add_comm_monoid.to_add_comm_semigroup, add_right_comm, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, multiset.foldl, multiset.sum, eq, multiset, add_comm_monoid]), (multiset.sum_zero, [rfl, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, multiset.has_zero, multiset, has_zero.zero, multiset.sum, eq, add_comm_monoid]), (multiset.to_finset, [multiset.to_finset._proof_1, multiset.erase_dup, finset.mk, finset, multiset, decidable_eq]), (multiset.to_finset._proof_1, [multiset.nodup_erase_dup, multiset.erase_dup, multiset.nodup, multiset, decidable_eq]), (multiset.union, [multiset.has_sub, has_sub.sub, multiset.has_add, has_add.add, multiset, decidable_eq]), (multiset.union.equations._eqn_1, [eq.refl, multiset.has_sub, has_sub.sub, multiset.has_add, has_add.add, multiset.union, eq, multiset, decidable_eq]), (multiset.union_add_distrib, [multiset.add_sub_cancel, multiset.sub_add', eq.rec, eq_comm, eq.mp, add_left_inj, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, propext, add_left_comm, eq.refl, add_comm, multiset.union.equations._eqn_1, multiset.union, has_add, multiset.ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, id, multiset.has_sub, has_sub.sub, eq.mpr, multiset.has_union, has_union.union, multiset.has_add, has_add.add, eq, multiset, decidable_eq]), (multiset.union_add_inter, [multiset.le_union_left, multiset.le_union_right, multiset.le_inter, multiset.add_inter_distrib, multiset.inter_le_left, add_le_add_right, add_comm, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, multiset.inter_le_right, multiset.ordered_cancel_comm_monoid, add_le_add_left, multiset.union_le, multiset.union_add_distrib, eq.refl, eq.rec, id, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, multiset.partial_order, le_antisymm, multiset.has_inter, has_inter.inter, multiset.has_union, has_union.union, multiset.has_add, has_add.add, eq, multiset, decidable_eq]), (multiset.union_le, [multiset.union_le_union_right, multiset.eq_union_left, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, multiset.has_union, has_union.union, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.union_le_union_right, [multiset.sub_le_sub_right, multiset.has_sub, has_sub.sub, multiset.ordered_cancel_comm_monoid, add_le_add_right, multiset.has_union, has_union.union, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset, decidable_eq]), (multiset.zero, [list.nil, multiset.has_coe, coe_base, coe_to_lift, list, coe, multiset]), (multiset.zero_add, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, multiset.has_add, has_add.add, eq, multiset]), (multiset.zero_inter, [list.nil_bag_inter, multiset.has_coe, coe_base, coe_to_lift, coe, list.nil, list.bag_inter, congr_arg, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, multiset.has_inter, has_inter.inter, eq, multiset, decidable_eq]), (multiset.zero_le, [list.nil_sublist, list.nil, list.subperm_of_sublist, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, multiset.partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, multiset]), (multiset.zero_ndunion, [quot.mk, rfl, list.perm.setoid, setoid.r, list, quot.induction_on, multiset.has_zero, has_zero.zero, multiset.ndunion, eq, multiset, decidable_eq]), (multiset.zero_subset, [list.not_mem_nil, multiset.has_mem, list.nil, list.has_mem, list, has_mem.mem, not.elim, multiset.has_zero, has_zero.zero, multiset.has_subset, has_subset.subset, multiset]), (name, []), (name.anonymous, [name]), (name.mk_string, [name, string]), (nat, []), (nat.add, [nat.add._main, nat]), (nat.add._main, [pprod, punit, nat.rec, pprod.fst, nat.succ, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat]), (nat.add_assoc, [pprod, punit, nat.rec, pprod.fst, nat.add_succ, eq.refl, eq.rec, id, eq.mpr, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, eq, nat]), (nat.add_comm, [pprod, punit, nat.rec, nat.add, pprod.fst, congr_arg, nat.succ_add, eq.subst, nat.has_one, has_one.one, nat.succ, nat.zero_add, eq.symm, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, eq, nat]), (nat.add_comm_monoid, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_add_comm_monoid, nat, add_comm_monoid]), (nat.add_comm_semigroup, [nat.add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, nat, add_comm_semigroup]), (nat.add_div_right, [nat.add_sub_cancel, nat.le_add_left, nat.div_eq_sub_div, eq.refl, eq.rec, id, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, eq.mpr, nat.succ, nat.has_add, has_add.add, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.add_le_add_iff_le_right, [nat.add_le_add_right, nat.le_of_add_le_add_right, iff.intro, nat.has_add, has_add.add, nat.has_le, has_le.le, iff, nat]), (nat.add_le_add_left, [nat.le.dest, nat.add_assoc, eq.refl, eq.rec, id, eq.mpr, nat.le.intro, id_rhs, Exists.dcases_on, eq, Exists, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.add_le_add_right, [nat.add_le_add_left, nat.add_comm, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.add_le_to_le_sub, [iff.refl, nat.sub_le_sub_right_iff, propext, nat.add_sub_cancel, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, iff, nat.has_le, has_le.le, nat]), (nat.add_left_cancel, [nat.succ.inj_eq, nat.succ_add, eq.mp, pprod, punit, nat.rec, pprod.fst, nat.succ, trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, nat.zero_add, congr_arg, congr, imp_congr_ctx_eq, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, eq, nat]), (nat.add_left_comm, [nat.add_assoc, nat.add_comm, nat.add, left_comm, nat.has_add, has_add.add, eq, nat]), (nat.add_lt_add_left, [nat.succ_le_of_lt, nat.add_le_add_left, nat.add_succ, nat.succ, nat.has_le, has_le.le, eq.subst, nat.lt_of_succ_le, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat]), (nat.add_lt_of_lt_sub_left, [nat.add_lt_of_lt_sub_right, add_comm, eq.refl, eq.rec, eq, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, nat]), (nat.add_lt_of_lt_sub_right, [nat.add_sub_cancel, eq.refl, eq.rec, eq, id, eq.mpr, nat.lt_of_sub_lt_sub_right, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, nat]), (nat.add_mod_right, [nat.add_sub_cancel, nat.le_add_left, nat.mod_eq_sub_mod, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, eq.mpr, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, eq, nat]), (nat.add_monoid, [nat.add_comm_monoid, add_comm_monoid.to_add_monoid, nat, add_monoid]), (nat.add_mul_div_left, [nat.add_div_right, add_assoc, eq.symm, nat.add_semigroup, add_semigroup.to_has_add, nat.mul_succ, eq.rec, nat.succ, trivial, eq_self_iff_true, propext, nat.add_monoid, add_zero, mul_zero, nat.nat_zero_eq_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.refl, has_add, has_div, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.add_mul_div_right, [nat.add_mul_div_left, mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.add_mul_mod_self_left, [nat.add_mod_right, add_assoc, eq.symm, nat.add_semigroup, add_semigroup.to_has_add, nat.mul_succ, eq.rec, nat.succ, trivial, eq_self_iff_true, propext, nat.add_monoid, add_zero, mul_zero, nat.nat_zero_eq_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.refl, has_add, nat.has_zero, has_zero.zero, has_mod, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, eq, nat]), (nat.add_mul_mod_self_right, [nat.add_mul_mod_self_left, mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, eq, nat]), (nat.add_one, [rfl, nat.succ, nat.has_one, has_one.one, nat.has_add, has_add.add, eq, nat]), (nat.add_right_cancel, [nat.add_comm, eq.refl, eq.rec, eq.mp, nat.add_left_cancel, nat.has_add, has_add.add, eq, nat]), (nat.add_right_comm, [nat.add_assoc, nat.add_comm, nat.add, right_comm, nat.has_add, has_add.add, eq, nat]), (nat.add_semigroup, [nat.add_monoid, add_monoid.to_add_semigroup, nat, add_semigroup]), (nat.add_sub_add_left, [nat.add_sub_add_right, add_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.add_sub_add_right, [pprod, punit, nat.rec, pprod.fst, nat.succ_sub_succ, nat.add_succ, nat.succ, add_zero, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.add_sub_assoc, [nat.add_sub_cancel, add_assoc, nat.add_semigroup, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.add_sub_cancel_left, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.le.dest, exists.elim, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat.has_le, has_le.le, nat]), (nat.add_sub_cancel', [nat.sub_add_cancel, add_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, eq, nat.has_le, ge, nat]), (nat.add_sub_cancel, [nat.sub_zero, nat.add_sub_add_right, id, eq.mpr, zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, eq.mp, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.add_sub_cancel_left, [nat.sub_zero, nat.add_sub_add_left, eq.refl, eq.rec, id, eq.mpr, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.add_sub_of_le, [nat.add_sub_cancel_left, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.le.dest, exists.elim, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, eq, nat.has_le, has_le.le, nat]), (nat.add_succ, [rfl, nat.succ, nat.has_add, has_add.add, eq, nat]), (nat.add_zero, [rfl, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, eq, nat]), (nat.below, [pprod, punit, nat.rec, nat]), (nat.brec_on, [nat.succ, punit.star, punit, nat.zero, pprod.mk, pprod, nat.rec, pprod.fst, nat.below, nat]), (nat.canonically_ordered_comm_semiring, [nat.canonically_ordered_comm_semiring._proof_21, nat.canonically_ordered_comm_semiring._proof_20, nat.canonically_ordered_comm_semiring._proof_19, nat.canonically_ordered_comm_semiring._proof_18, nat.canonically_ordered_comm_semiring._proof_17, nat.canonically_ordered_comm_semiring._proof_16, nat.canonically_ordered_comm_semiring._proof_15, nat.canonically_ordered_comm_semiring._proof_14, nat.canonically_ordered_comm_semiring._proof_13, linear_ordered_semiring.one, nat.canonically_ordered_comm_semiring._proof_12, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, linear_ordered_semiring.mul, nat.canonically_ordered_comm_semiring._proof_11, nat.canonically_ordered_comm_semiring._proof_10, nat.canonically_ordered_comm_semiring._proof_9, nat.canonically_ordered_comm_semiring._proof_8, nat.canonically_ordered_comm_semiring._proof_7, nat.canonically_ordered_comm_semiring._proof_6, nat.canonically_ordered_comm_semiring._proof_5, ordered_comm_monoid.lt, ordered_comm_monoid.le, nat.canonically_ordered_comm_semiring._proof_4, nat.canonically_ordered_comm_semiring._proof_3, nat.canonically_ordered_comm_semiring._proof_2, ordered_comm_monoid.zero, nat.canonically_ordered_comm_semiring._proof_1, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, canonically_ordered_comm_semiring.mk, nat, canonically_ordered_comm_semiring]), (nat.canonically_ordered_comm_semiring._match_1, [eq.symm, Exists.intro, id_rhs, Exists.dcases_on, ordered_comm_monoid.lt_of_add_lt_add_left, ordered_comm_monoid.add_le_add_left, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.has_add, has_add.add, eq, Exists, nat]), (nat.canonically_ordered_comm_semiring._match_2, [nat.le_add_right, eq.symm, eq.subst, id_rhs, Exists.dcases_on, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_monoid.lt_of_add_lt_add_left, ordered_comm_monoid.add_le_add_left, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, nat]), (nat.canonically_ordered_comm_semiring._proof_1, [ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, has_add.mk, has_add.add, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_10, [ordered_comm_monoid.lt_of_add_lt_add_left, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, nat]), (nat.canonically_ordered_comm_semiring._proof_11, [nat.canonically_ordered_comm_semiring._match_2, nat.le.dest, nat.canonically_ordered_comm_semiring._match_1, iff.intro, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, ordered_comm_monoid.lt_of_add_lt_add_left, ordered_comm_monoid.add_le_add_left, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, nat]), (nat.canonically_ordered_comm_semiring._proof_12, [linear_ordered_semiring.mul_assoc, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_13, [linear_ordered_semiring.one_mul, linear_ordered_semiring.one, has_one.mk, has_one.one, linear_ordered_semiring.mul_assoc, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_14, [linear_ordered_semiring.mul_one, linear_ordered_semiring.one, has_one.mk, has_one.one, linear_ordered_semiring.mul_assoc, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_15, [linear_ordered_semiring.left_distrib, linear_ordered_semiring.add, has_add.mk, has_add.add, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_16, [linear_ordered_semiring.right_distrib, linear_ordered_semiring.add, has_add.mk, has_add.add, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_17, [linear_ordered_semiring.zero_mul, linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_18, [linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero, has_zero.mk, has_zero.zero, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, infer_instance, linear_ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_19, [comm_semiring.mul_comm, comm_semiring.mul_assoc, nat.comm_semiring, comm_semiring, infer_instance, comm_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_2, [ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_20, [zero_lt_one, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, linear_ordered_semiring.one, has_one.mk, has_one.one, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.zero, has_zero.mk, has_zero.zero, nat, ne]), (nat.canonically_ordered_comm_semiring._proof_21, [trivial, and_self, mul_zero, forall_true_iff, eq_self_iff_true, zero_mul, has_mul, nat.semiring, mul_zero_class.to_has_zero, eq.refl, imp_congr_ctx_eq, congr_arg, congr, or_imp_distrib, propext, and, eq.trans, id, true, eq.mpr, nat.eq_zero_of_mul_eq_zero, iff.intro, or, zero_lt_one, has_one.mk, has_one.one, has_zero.mk, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, nat.comm_semiring, comm_semiring, comm_semiring.mul_comm, linear_ordered_semiring.mul_zero, linear_ordered_semiring.zero_mul, linear_ordered_semiring.right_distrib, linear_ordered_semiring.left_distrib, linear_ordered_semiring.mul_one, linear_ordered_semiring.one_mul, linear_ordered_semiring.one, linear_ordered_semiring.mul_assoc, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring, linear_ordered_semiring.mul, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, comm_semiring.mk, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, iff, nat]), (nat.canonically_ordered_comm_semiring._proof_3, [ordered_comm_monoid.add_zero, ordered_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_4, [ordered_comm_monoid.add_comm, ordered_comm_monoid.add_assoc, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nat]), (nat.canonically_ordered_comm_semiring._proof_5, [ordered_comm_monoid.le_refl, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.le, has_le.mk, has_le.le, nat]), (nat.canonically_ordered_comm_semiring._proof_6, [ordered_comm_monoid.le_trans, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.le, has_le.mk, has_le.le, nat]), (nat.canonically_ordered_comm_semiring._proof_7, [ordered_comm_monoid.lt_iff_le_not_le, name.anonymous, name.mk_string, not, ordered_comm_monoid.le, has_le.mk, has_le.le, and, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.lt, has_lt.mk, has_lt.lt, iff, nat, auto_param]), (nat.canonically_ordered_comm_semiring._proof_8, [ordered_comm_monoid.le_antisymm, eq, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.le, preorder.mk, preorder.to_has_le, has_le.le, nat]), (nat.canonically_ordered_comm_semiring._proof_9, [ordered_comm_monoid.add_le_add_left, ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid, infer_instance, ordered_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, nat]), (nat.case_strong_induction_on, [nat.lt_succ_of_le, nat.has_one, has_one.one, nat.has_add, has_add.add, id_rhs, nat.has_lt, has_lt.lt, nat.cases_on, nat.strong_induction_on, nat.succ, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat]), (nat.cases_on, [nat.rec, nat.succ, nat.zero, nat]), (nat.cast, [nat.cast._main, nat, has_add, has_one, has_zero]), (nat.cast._main, [has_one.one, pprod, punit, nat.rec, nat.add, pprod.fst, has_add.add, nat.succ, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat, has_add, has_one, has_zero]), (nat.cast_add, [add_assoc, pprod, punit, nat.rec, nat.add, pprod.fst, eq.refl, eq.rec, id, eq.mpr, has_one.one, nat.succ, add_zero, eq.symm, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_monoid.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, eq, nat, has_one, add_monoid]), (nat.cast_add_one, [rfl, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.cast_coe, coe_base, coe_to_lift, coe, eq, nat, has_add, has_one, has_zero]), (nat.cast_coe, [nat.cast, has_coe.mk, nat, has_coe, has_add, has_one, has_zero]), (nat.cast_mul, [mul_one, monoid.to_semigroup, semigroup.to_has_mul, left_distrib, distrib.to_has_mul, pprod, punit, nat.rec, pprod.fst, eq.refl, eq.rec, id, eq.mpr, nat.cast_add, eq.trans, nat.has_one, has_one.one, nat.add, nat.mul, nat.has_add, has_add.add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, semiring.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, nat.succ, mul_zero, eq.symm, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, mul_zero_class.to_has_mul, nat.has_mul, has_mul.mul, semiring.to_distrib, distrib.to_has_add, semiring.to_monoid, monoid.to_has_one, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, eq, nat, semiring]), (nat.cast_one, [zero_add, nat.has_one, has_one.one, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_monoid.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, nat, coe, eq, has_one, add_monoid]), (nat.cast_sub, [nat.sub_add_cancel, nat.cast_add, eq.symm, eq.refl, eq.rec, id, nat.has_add, has_add.add, eq.mpr, eq_sub_of_add_eq, add_group_has_sub, nat.has_sub, has_sub.sub, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, eq, nat.has_le, has_le.le, nat, has_one, add_group]), (nat.cast_succ, [rfl, has_one.one, has_add.add, nat.succ, nat.cast_coe, coe_base, coe_to_lift, coe, eq, nat, has_add, has_one, has_zero]), (nat.cast_zero, [rfl, nat.has_zero, has_zero.zero, nat.cast_coe, coe_base, coe_to_lift, nat, coe, eq, has_add, has_one, has_zero]), (nat.comm_monoid, [nat.comm_semiring, comm_semiring.to_comm_monoid, nat, comm_monoid]), (nat.comm_semigroup, [nat.comm_monoid, comm_monoid.to_comm_semigroup, nat, comm_semigroup]), (nat.comm_semiring, [nat.mul_comm, nat.mul_zero, nat.zero_mul, nat.right_distrib, nat.left_distrib, nat.mul_one, nat.one_mul, nat.succ, nat.mul_assoc, nat.mul, nat.add_comm, nat.add_zero, nat.zero_add, nat.zero, nat.add_assoc, nat.add, comm_semiring.mk, nat, comm_semiring]), (nat.coprime, [nat.has_one, has_one.one, nat.gcd, eq, nat]), (nat.coprime.coprime_dvd_left, [nat.gcd_dvd_gcd_of_dvd_left, eq.symm, eq.refl, eq.rec, eq.mpr, eq, nat.has_one, has_one.one, id, nat.gcd, nat.eq_one_of_dvd_one, nat.coprime, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.coprime.coprime_mul_left, [nat.comm_semiring, dvd_mul_left, nat.coprime.coprime_dvd_left, nat.has_mul, has_mul.mul, nat.coprime, nat]), (nat.coprime.coprime_mul_right, [nat.comm_semiring, dvd_mul_right, nat.coprime.coprime_dvd_left, nat.has_mul, has_mul.mul, nat.coprime, nat]), (nat.coprime.dvd_of_dvd_mul_left, [mul_comm, eq.refl, eq, eq.rec, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mp, nat.coprime.dvd_of_dvd_mul_right, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.coprime, nat]), (nat.coprime.dvd_of_dvd_mul_right, [nat.gcd_mul_left, nat.coprime.gcd_eq_one, mul_one, eq.refl, eq, monoid.to_has_one, nat.monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.rec, nat.has_one, has_one.one, eq.mp, dvd_mul_left, nat.dvd_gcd, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.gcd, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.coprime, nat]), (nat.coprime.equations._eqn_1, [eq.refl, nat.has_one, has_one.one, nat.gcd, nat.coprime, eq, nat]), (nat.coprime.gcd_eq_one, [id, nat.has_one, has_one.one, nat.gcd, eq, nat.coprime, nat]), (nat.coprime.gcd_mul_left_cancel, [nat.gcd_one_right, nat.coprime.symm, nat.coprime.gcd_eq_one, nat.gcd_assoc, nat.coprime.equations._eqn_1, eq.refl, eq.rec, id, nat.has_one, has_one.one, eq.mpr, nat.gcd_dvd_gcd_mul_left, nat.gcd_dvd_right, nat.gcd_dvd_left, nat.coprime.dvd_of_dvd_mul_left, nat.dvd_gcd, nat.dvd_antisymm, nat.has_mul, has_mul.mul, nat.gcd, eq, nat.coprime, nat]), (nat.coprime.mul_dvd_of_dvd_of_dvd, [nat.coprime.symm, nat.coprime.dvd_of_dvd_mul_left, mul_dvd_mul_left, eq.symm, eq.subst, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, eq, Exists.dcases_on, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.coprime, nat]), (nat.coprime.symm, [nat.gcd_comm, nat.has_one, has_one.one, nat.gcd, eq.trans, nat.coprime, nat]), (nat.coprime_div_gcd_div_gcd, [nat.div_self, nat.gcd_dvd_right, nat.gcd_dvd_left, nat.gcd_div, eq.refl, eq.rec, nat.has_one, has_one.one, eq, eq.mpr, id, nat.has_div, has_div.div, nat.coprime, nat.has_zero, has_zero.zero, nat.gcd, nat.has_lt, gt, nat]), (nat.coprime_mul_iff_left, [nat.coprime.gcd_mul_left_cancel, nat.coprime.equations._eqn_1, eq.refl, eq.rec, id, nat.has_one, has_one.one, nat.gcd, eq, eq.mpr, id_rhs, and.dcases_on, nat.coprime.coprime_mul_left, nat.coprime.coprime_mul_right, and.intro, iff.intro, and, nat.has_mul, has_mul.mul, nat.coprime, iff, nat]), (nat.coprime_of_dvd, [nat.gcd_dvd_right, nat.gcd_dvd_left, lt_or_eq_of_le, preorder.to_has_lt, has_lt.lt, or.resolve_left, eq.symm, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, dvd_zero, trivial, nat.decidable_lt, of_as_true, nat.has_add, bit0, nat.eq_zero_of_gcd_eq_zero_left, nat.eq_zero_of_gcd_eq_zero_right, eq.refl, eq.rec, eq.mp, false.elim, nat.eq_zero_or_pos, nat.has_zero, has_zero.zero, nat.gcd, eq, or.elim, nat.coprime, not, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_one, has_one.one, nat.has_lt, gt, nat]), (nat.coprime_primes, [nat.prime.ge_two, nat.dvd_prime_ge_two, eq, not_congr, nat.prime.coprime_iff_not_dvd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, iff.trans, ne, nat.coprime, iff, nat.prime, nat]), (nat.decidable, [nat.decidable_eq, nat.decidable._proof_1, nat.has_one, has_one.one, nat.gcd, eq, eq.mpr, nat.coprime, decidable, nat]), (nat.decidable._proof_1, [nat.coprime.equations._eqn_1, congr_arg, id, nat.has_one, has_one.one, nat.gcd, nat.coprime, decidable, eq, nat]), (nat.decidable_ball_lt, [nat.decidable_ball_lt._proof_4, nat.decidable_ball_lt._proof_3, nat.lt_succ_self, dite, nat.decidable_ball_lt._proof_2, decidable.is_false, not, nat.lt_succ_of_lt, decidable.cases_on, nat.succ, nat.decidable_ball_lt._proof_1, decidable.is_true, nat.zero, nat.rec, decidable, nat.has_lt, has_lt.lt, nat]), (nat.decidable_ball_lt._match_1, [heq.refl, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, eq, nat.lt_succ_self, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.decidable_ball_lt._proof_1, [trivial, nat.decidable_lt, forall_prop_decidable, of_as_true, decidable, nat.zero, nat.has_lt, has_lt.lt, nat]), (nat.decidable_ball_lt._proof_2, [mt, nat.lt_succ_of_lt, not, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.decidable_ball_lt._proof_3, [nat.decidable_ball_lt._match_1, nat.le_of_lt_succ, lt_or_eq_of_le, eq, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or.elim, nat.lt_succ_self, nat.lt_succ_of_lt, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.decidable_ball_lt._proof_4, [mt, nat.lt_succ_self, not, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.decidable_dvd, [nat.decidable_dvd._proof_1, nat.decidable_eq, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, decidable_of_decidable_of_iff, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat, decidable_rel]), (nat.decidable_dvd._proof_1, [nat.dvd_iff_mod_eq_zero, iff.symm, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, iff, nat]), (nat.decidable_eq, [nat.decidable_eq._main, nat, decidable_eq]), (nat.decidable_eq._main, [pprod, punit, nat.rec, pprod.fst, nat.decidable_eq._match_1, false, nat.no_confusion, decidable.is_false, nat.succ, rfl, decidable.is_true, id_rhs, nat.zero, nat.cases_on, nat.below, eq, decidable, nat.brec_on, nat, decidable_eq]), (nat.decidable_eq._match_1, [eq.refl, eq.subst, decidable.is_true, absurd, false, nat.no_confusion, decidable.is_false, id_rhs, not, decidable.cases_on, nat.succ, eq, decidable, nat]), (nat.decidable_le, [nat.decidable_le._main, nat.has_le, has_le.le, decidable, nat]), (nat.decidable_le._main, [pprod, punit, nat.rec, nat.add, pprod.fst, nat.decidable_le._match_1, nat.not_succ_le_zero, decidable.is_false, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, nat.zero_le, decidable.is_true, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_le, has_le.le, decidable, nat]), (nat.decidable_le._match_1, [nat.succ_le_succ, decidable.is_true, nat.le_of_succ_le_succ, decidable.is_false, id_rhs, not, decidable.cases_on, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_le, has_le.le, decidable, nat]), (nat.decidable_linear_ordered_semiring, [nat.decidable_lt, nat.decidable_eq, nat.decidable_le, nat.decidable_linear_ordered_semiring._proof_4, nat.le_total, nat.mul_lt_mul_of_pos_right, nat.mul_lt_mul_of_pos_left, nat.decidable_linear_ordered_semiring._proof_3, nat.decidable_linear_ordered_semiring._proof_2, nat.le_of_add_le_add_left, nat.add_le_add_left, nat.le_antisymm, nat.decidable_linear_ordered_semiring._proof_1, nat.le_trans, nat.le_refl, nat.lt, nat.le, nat.add_right_cancel, nat.add_left_cancel, comm_semiring.mul_zero, comm_semiring.zero_mul, comm_semiring.right_distrib, comm_semiring.left_distrib, comm_semiring.mul_one, comm_semiring.one_mul, comm_semiring.one, comm_semiring.mul_assoc, comm_semiring.mul, comm_semiring.add_comm, comm_semiring.add_zero, comm_semiring.zero_add, comm_semiring.zero, comm_semiring.add_assoc, nat.comm_semiring, comm_semiring.add, decidable_linear_ordered_semiring.mk, nat, decidable_linear_ordered_semiring]), (nat.decidable_linear_ordered_semiring._proof_1, [lt_iff_le_not_le, not, preorder.to_has_le, has_le.le, and, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, nat]), (nat.decidable_linear_ordered_semiring._proof_2, [nat.mul_le_mul_left, nat.has_mul, has_mul.mul, nat.has_le, comm_semiring.mul_zero, comm_semiring.zero_mul, comm_semiring.right_distrib, comm_semiring.left_distrib, comm_semiring.mul_one, comm_semiring.one_mul, comm_semiring.one, comm_semiring.mul_assoc, comm_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, nat.le_of_add_le_add_left, nat.add_le_add_left, nat.le_antisymm, nat.linear_order, linear_order.to_partial_order, lt_iff_le_not_le, nat.le_trans, nat.le_refl, nat.lt, nat.le, nat.add_right_cancel, nat.add_left_cancel, comm_semiring.add_comm, comm_semiring.add_zero, comm_semiring.zero_add, comm_semiring.zero, comm_semiring.add_assoc, nat.comm_semiring, comm_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, nat]), (nat.decidable_linear_ordered_semiring._proof_3, [nat.mul_le_mul_right, nat.has_mul, has_mul.mul, nat.has_le, comm_semiring.mul_zero, comm_semiring.zero_mul, comm_semiring.right_distrib, comm_semiring.left_distrib, comm_semiring.mul_one, comm_semiring.one_mul, comm_semiring.one, comm_semiring.mul_assoc, comm_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, nat.le_of_add_le_add_left, nat.add_le_add_left, nat.le_antisymm, nat.linear_order, linear_order.to_partial_order, lt_iff_le_not_le, nat.le_trans, nat.le_refl, nat.lt, nat.le, nat.add_right_cancel, nat.add_left_cancel, comm_semiring.add_comm, comm_semiring.add_zero, comm_semiring.zero_add, comm_semiring.zero, comm_semiring.add_assoc, nat.comm_semiring, comm_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, nat]), (nat.decidable_linear_ordered_semiring._proof_4, [nat.zero_lt_succ, nat.succ, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt]), (nat.decidable_lo_hi, [nat.decidable_ball_lt, nat.decidable_lo_hi._proof_1, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, decidable_of_iff, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, decidable, decidable_pred, nat]), (nat.decidable_lo_hi._proof_1, [nat.add_lt_of_lt_sub_left, nat.le_add_right, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, not_le_of_gt, nat.sub_le_sub_right_iff, not_congr, not, iff.mpr, nat.linear_order, lt_of_not_ge, nat.add_sub_of_le, eq.refl, eq, eq.rec, eq.mp, iff.intro, nat.has_le, has_le.le, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, iff, nat]), (nat.decidable_lt, [nat.succ, nat.decidable_le, nat.has_lt, has_lt.lt, decidable, nat]), (nat.decidable_prime_1, [nat.decidable_dvd, not.decidable, nat.decidable_lo_hi, nat.decidable_lt, and.decidable, nat.prime_def_lt', nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, nat.has_lt, has_lt.lt, has_le.le, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, and, decidable_of_iff', nat.prime, decidable, nat]), (nat.distrib, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_distrib, nat, distrib]), (nat.div, [_private.426554279.div.F, nat.lt_wf, nat.lt, well_founded.fix, nat]), (nat.div_def, [nat.div_def_aux, dif_eq_if, eq.refl, eq.rec, not, dite, eq.mp, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, and, ite, nat.has_div, has_div.div, eq, nat]), (nat.div_def_aux, [_private.426554279.div.F, nat.lt_wf, nat.lt, well_founded.fix_eq, congr_fun, not, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, and, dite, nat.has_div, has_div.div, eq, nat]), (nat.div_div_self, [nat.mul_div_cancel', nat.div_dvd_of_dvd, nat.div_mul_cancel, nat.succ_pos, nat.le_of_dvd, nat.div_pos, nat.mul_right_inj, nat.has_mul, has_mul.mul, iff.mp, nat.has_one, has_one.one, nat.has_add, has_add.add, trivial, nat.decidable_lt, not.decidable, not, of_as_true, absurd, nat.succ, eq_zero_of_zero_dvd, eq.refl, eq.rec, id, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.mpr, id_rhs, nat.zero, nat.cases_on, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.div_dvd_of_dvd, [nat.div_mul_cancel, nat.has_mul, eq.symm, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, Exists.intro, nat.has_div, has_div.div, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.div_eq_of_lt, [and.right, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, not_le_of_gt, not, if_neg, nat.div_def, eq.refl, eq.rec, id, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, and, ite, eq.mpr, nat.has_zero, has_zero.zero, nat.has_div, has_div.div, eq, nat.has_lt, has_lt.lt, nat]), (nat.div_eq_of_lt_le, [partial_order.to_preorder, not_le_of_gt, mul_zero, eq.refl, mul_zero_class.to_has_mul, eq.rec, eq.mp, false, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, absurd, nat.eq_zero_or_pos, or.resolve_left, nat.le_div_iff_mul_le, nat.div_lt_iff_lt_mul, iff.mpr, nat.le_of_lt_succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, nat.has_zero, has_zero.zero, gt, nat.has_div, has_div.div, eq, nat.succ, nat.has_lt, has_lt.lt, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.div_eq_sub_div, [and.intro, if_pos, nat.div_def, eq.refl, eq.rec, id, nat.decidable_le, nat.decidable_lt, and.decidable, has_le.le, has_lt.lt, and, ite, eq.mpr, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_div, has_div.div, eq, nat.has_le, ge, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.div_eq_zero_iff, [nat.mod_eq_of_lt, add_left_cancel_iff, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, nat.mul_left_inj, propext, nat.mod_lt, add_zero, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, mul_zero, mul_zero_class.to_has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.mod_add_div, eq.symm, eq.refl, eq.rec, id, nat.has_mul, has_mul.mul, nat.has_mod, has_mod.mod, nat.has_add, has_add.add, eq.mpr, iff.intro, nat.has_div, has_div.div, eq, iff, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.div_le_div_right, [nat.div_mul_le_self, le_trans, nat.le_div_iff_mul_le, nat.has_mul, has_mul.mul, iff.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, nat.div_zero, eq.refl, has_div, eq.trans, congr_arg, congr, has_le, id, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, eq, or.elim, nat.has_div, has_div.div, nat.has_le, has_le.le, nat]), (nat.div_le_of_le_mul, [nat.mod_add_div, eq.rec, nat.le_add_left, nat.has_mod, has_mod.mod, nat.has_add, has_add.add, trans_rel_left, nat.ordered_semiring, le_trans, nat.zero_lt_succ, le_of_mul_le_mul_left, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat.succ, nat.zero_le, eq.refl, nat.div_zero, congr_arg, congr, has_le, eq, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.div_le_self, [nat.succ_le_succ, nat.mul_le_mul_right, trivial, eq_self_iff_true, propext, nat.monoid, one_mul, eq.trans, true, nat.has_one, has_one.one, trans_rel_right, nat.div_le_of_le_mul, nat.has_mul, has_mul.mul, nat.succ, nat.zero_le, eq.refl, nat.div_zero, congr_arg, congr, has_le, eq, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, nat.has_div, has_div.div, nat.has_le, has_le.le, nat]), (nat.div_lt_iff_lt_mul, [nat.le_div_iff_mul_le, not_iff_not_of_iff, lt_iff_not_ge, preorder.to_has_lt, propext, congr_arg, congr, eq, id, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, not, eq.mpr, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, has_lt.lt, iff, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.div_lt_of_lt_mul, [nat.zero_le, nat.mod_add_div, nat.le_add_left, nat.has_le, has_le.le, nat.has_mod, has_mod.mod, nat.has_add, has_add.add, trans_rel_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_of_le_of_lt, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, lt_of_mul_lt_mul_left, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_lt, has_lt.lt, nat]), (nat.div_lt_self, [nat.zero_le, le_refl, mul_lt_mul, nat.monoid, mul_one, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.trans, congr_arg, congr, eq, has_lt, eq.mp, nat.zero_lt_one, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_trans, nat.div_lt_iff_lt_mul, nat.has_mul, has_mul.mul, iff.mpr, nat.has_div, has_div.div, has_lt.lt, nat.has_one, has_one.one, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.div_mod_unique, [trivial, and_self, nat.mod_eq_of_lt, eq_self_iff_true, propext, nat.add_monoid, zero_add, true.intro, iff_true_intro, iff.mpr, nat.div_eq_of_lt, has_add, congr_arg, congr, eq.trans, true, nat.add_mul_mod_self_left, nat.add_mul_div_left, eq.refl, eq.rec, id, eq.mpr, nat.mod_lt, nat.mod_add_div, and.intro, eq.subst, id_rhs, and.dcases_on, iff.intro, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, nat.has_div, has_div.div, eq, and, iff, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.div_mul_cancel, [nat.mul_div_cancel', mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.div_mul_le_self, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, nat.succ_pos, nat.le_div_iff_mul_le, iff.mp, nat.succ, nat.zero_le, mul_zero, eq.refl, nat.div_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.trans, congr_arg, congr, has_le, eq, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.div_pos, [nat.mod_lt, nat.mod_add_div, eq.symm, nat.add_monoid, add_zero, mul_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_add, eq.trans, eq.refl, congr_arg, congr, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, eq.mp, nat.has_mod, has_mod.mod, trans_rel_right, lt_of_lt_of_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, eq, nat.pos_of_ne_zero, nat.has_div, has_div.div, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, nat]), (nat.div_self, [zero_add, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.zero_div, eq.refl, eq.rec, eq.mp, nat.add_div_right, nat.succ, nat.has_add, has_add.add, nat.has_one, has_one.one, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.div_zero, [trivial, eq_self_iff_true, propext, if_false, add_comm, nat.sub_zero, has_div, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, if_simp_congr, false_and, iff.refl, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, preorder.to_has_lt, iff_false_intro, preorder, and_congr, iff.trans, decidable_of_decidable_of_iff, false, congr_arg, congr, eq.trans, true, nat.div_def, eq.refl, eq.rec, id, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, and, ite, eq.mpr, nat.has_zero, has_zero.zero, nat.has_div, has_div.div, eq, nat]), (nat.dvd_add_iff_left, [nat.dvd_add_iff_right, add_comm, eq.refl, eq.rec, eq, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_add, has_add.add, iff, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.dvd_add_iff_right, [heq.refl, nat.add_sub_cancel_left, eq.symm, nat.mul_sub_left_distrib, id, nat.has_mul, eq.mpr, nat.has_sub, has_sub.sub, Exists.intro, id_rhs, eq.refl, eq.rec, nat.mul, heq, eq.dcases_on, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, dvd.elim, dvd_add, iff.intro, nat.has_add, has_add.add, iff, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.dvd_antisymm, [nat.succ_pos, nat.le_of_dvd, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, eq.symm, nat.succ, eq_zero_of_zero_dvd, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.dvd_gcd, [nat.dvd_mod_iff, iff.mpr, nat.gcd_rec, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.gcd_zero_left, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_zero, has_zero.zero, nat.gcd.induction, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.dvd_iff_mod_eq_zero, [nat.dvd_of_mod_eq_zero, nat.mod_eq_zero_of_dvd, iff.intro, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, nat]), (nat.dvd_mod_iff, [nat.mod_add_div, eq.refl, eq, nat.has_mul, eq.rec, eq.mp, dvd_mul_right, dvd_trans, nat.dvd_add_iff_left, nat.has_div, has_div.div, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_mod, has_mod.mod, iff, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.dvd_of_mod_eq_zero, [nat.add_monoid, zero_add, eq.refl, has_add, eq.trans, congr_arg, congr, eq.mp, nat.mod_add_div, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, nat.has_div, has_div.div, dvd.intro, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat]), (nat.dvd_of_mul_dvd_mul_left, [mul_assoc, eq.refl, eq.rec, nat.semigroup, semigroup.to_has_mul, eq.mp, nat.eq_of_mul_eq_mul_left, Exists.intro, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, eq, dvd.elim, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.dvd_of_mul_dvd_mul_right, [mul_comm, eq.refl, eq, eq.rec, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mp, nat.dvd_of_mul_dvd_mul_left, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.dvd_prime, [dvd_refl, one_dvd, eq.symm, eq.subst, or.elim, nat.has_add, bit0, nat.has_le, ge, and.right, iff.intro, nat.has_one, has_one.one, eq, or, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, nat.prime, nat]), (nat.dvd_prime_ge_two, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_gt, not.elim, or_iff_right_of_imp, nat.dvd_prime, or, iff.trans, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, nat.prime, nat]), (nat.eq_of_mul_eq_mul_left, [eq.symm, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, partial_order.to_preorder, le_of_eq, le_of_mul_le_mul_left, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, nat.has_mul, has_mul.mul, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.eq_of_mul_eq_mul_right, [mul_comm, eq.refl, eq.rec, nat.comm_semiring, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mp, nat.eq_of_mul_eq_mul_left, nat.has_mul, has_mul.mul, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.eq_one_of_dvd_one, [nat.pos_of_dvd_of_pos, trivial, nat.decidable_lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, of_as_true, nat.le_of_dvd, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, eq, nat.has_one, has_one.one, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.eq_or_lt_of_le, [nat.succ_le_succ, nat.succ, or.inr, nat.less_than_or_equal, rfl, or.inl, nat.less_than_or_equal.cases_on, nat.has_lt, has_lt.lt, eq, or, nat.has_le, has_le.le, nat]), (nat.eq_zero_of_add_eq_zero_left, [nat.add_comm, eq.subst, nat.eq_zero_of_add_eq_zero_right, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, eq, nat]), (nat.eq_zero_of_add_eq_zero_right, [nat.add_one, nat.succ_add, eq.rec, nat.succ, eq.mp, nat.succ_ne_zero, false.rec, nat.has_one, has_one.one, trivial, implies_true_iff, eq_self_iff_true, propext, eq.refl, nat.zero_add, congr_arg, congr, imp_congr_eq, eq.trans, id, true, eq.mpr, id_rhs, nat.cases_on, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, eq, nat]), (nat.eq_zero_of_gcd_eq_zero_left, [nat.gcd_pos_of_pos_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, eq.symm, absurd, id, nat.eq_zero_or_pos, nat.has_lt, gt, or.elim, nat.has_zero, has_zero.zero, nat.gcd, eq, nat]), (nat.eq_zero_of_gcd_eq_zero_right, [nat.gcd_comm, eq.refl, eq.rec, eq.mp, nat.eq_zero_of_gcd_eq_zero_left, nat.has_zero, has_zero.zero, nat.gcd, eq, nat]), (nat.eq_zero_of_le_zero, [nat.zero_le, nat.linear_order, linear_order.to_partial_order, le_antisymm, eq, nat.has_zero, has_zero.zero, nat.has_le, has_le.le, nat]), (nat.eq_zero_of_mul_eq_zero, [nat.eq_zero_of_add_eq_zero_left, or.inr, nat.succ_mul, eq.refl, eq.rec, id, nat.has_add, has_add.add, eq.mpr, nat.succ, rfl, or.inl, id_rhs, nat.cases_on, or, nat.has_zero, has_zero.zero, nat.has_mul, has_mul.mul, eq, nat]), (nat.eq_zero_or_pos, [nat.succ_pos, nat.succ, or.inr, rfl, nat.zero, or.inl, nat.cases_on, nat.has_lt, gt, nat.has_zero, has_zero.zero, eq, or, nat]), (nat.fact, [nat.fact._main, nat]), (nat.fact._main, [pprod, punit, nat.rec, pprod.fst, nat.has_mul, has_mul.mul, nat.succ, nat.has_one, has_one.one, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat]), (nat.fact_succ, [rfl, nat.has_mul, has_mul.mul, nat.succ, nat.fact, eq, nat]), (nat.fact_zero, [rfl, nat.has_one, has_one.one, nat.has_zero, has_zero.zero, nat.fact, nat, eq]), (nat.find, [nat.find_x, not, nat.has_lt, has_lt.lt, and, subtype.val, Exists, decidable_pred, nat]), (nat.find_min', [nat.find_min, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, nat.linear_order, le_of_not_gt, nat.find, nat.has_le, has_le.le, Exists, decidable_pred, nat]), (nat.find_min, [subtype.property, nat.find_x, and, subtype.val, and.right, not, nat.find, nat.has_lt, has_lt.lt, Exists, decidable_pred, nat]), (nat.find_spec, [subtype.property, nat.find_x, not, nat.has_lt, has_lt.lt, and, subtype.val, and.left, nat.find, Exists, decidable_pred, nat]), (nat.find_x, [nat.find_x._proof_5, nat.has_zero, has_zero.zero, nat.find_x._proof_4, nat.find_x._proof_3, nat.find_x._proof_2, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_le, has_le.le, nat.find_x._proof_1, subtype.mk, dite, _private.370698095.wf_lbp, _private.221922577.lbp, well_founded.fix, not, nat.has_lt, has_lt.lt, and, subtype, Exists, decidable_pred, nat]), (nat.find_x._proof_1, [and.intro, and, not, nat.has_lt, has_lt.lt, nat]), (nat.find_x._proof_2, [rfl, and.intro, nat.has_one, has_one.one, nat.has_add, has_add.add, eq, and, not, nat.has_le, has_le.le, nat]), (nat.find_x._proof_3, [nat.le_of_succ_le_succ, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, not, nat.has_le, has_le.le, nat]), (nat.find_x._proof_4, [eq.refl, eq.rec, id, eq.mpr, lt_or_eq_of_le, eq, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or.elim, nat.has_le, has_le.le, not, nat.has_lt, has_lt.lt, nat]), (nat.find_x._proof_5, [nat.not_lt_zero, absurd, not, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.gcd, [nat.gcd._main, nat]), (nat.gcd._main, [psigma.mk, nat.gcd._main._pack, nat]), (nat.gcd._main._pack, [nat.succ_pos, nat.mod_lt, gcd._main._pack._wf_rec_mk_dec_tactic._aux_1, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.succ, nat.has_zero, has_zero.zero, id_rhs, psigma.mk, nat.cases_on, psigma.cases_on, has_well_founded.wf, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix, nat, psigma]), (nat.gcd._main._pack.equations._eqn_1, [nat.succ_pos, nat.mod_lt, gcd._main._pack._wf_rec_mk_dec_tactic._aux_1, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.succ, id_rhs, nat.cases_on, psigma.cases_on, has_well_founded.wf, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix_eq, nat.gcd._main._pack, nat.has_zero, has_zero.zero, psigma.mk, psigma, eq, nat]), (nat.gcd._main._pack.equations._eqn_2, [nat.succ_pos, nat.mod_lt, gcd._main._pack._wf_rec_mk_dec_tactic._aux_1, nat.has_lt, has_lt.lt, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, psigma.cases_on, has_well_founded.wf, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix_eq, nat.has_mod, has_mod.mod, nat.gcd._main._pack, nat.succ, psigma.mk, psigma, eq, nat]), (nat.gcd._main.equations._eqn_1, [nat.gcd._main._pack.equations._eqn_1, nat.has_zero, has_zero.zero, nat.gcd._main, eq, nat]), (nat.gcd._main.equations._eqn_2, [nat.gcd._main._pack.equations._eqn_2, nat.has_mod, has_mod.mod, nat.succ, nat.gcd._main, eq, nat]), (nat.gcd.equations._eqn_1, [nat.gcd._main.equations._eqn_1, nat.has_zero, has_zero.zero, nat.gcd, eq, nat]), (nat.gcd.equations._eqn_2, [nat.gcd._main.equations._eqn_2, nat.has_mod, has_mod.mod, nat.succ, nat.gcd, eq, nat]), (nat.gcd.induction, [nat.mod_lt, nat.succ_pos, nat.succ, nat.zero, nat.rec, nat.lt_wf, nat.lt, well_founded.induction, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.has_zero, has_zero.zero, nat]), (nat.gcd_a, [nat.xgcd, prod.fst, int, nat]), (nat.gcd_a.equations._eqn_1, [eq.refl, nat.xgcd, prod.fst, nat.gcd_a, int, eq, nat]), (nat.gcd_assoc, [nat.gcd_dvd_right, nat.gcd_dvd_left, nat.comm_semiring, dvd.trans, nat.dvd_gcd, nat.dvd_antisymm, nat.gcd, eq, nat]), (nat.gcd_b, [nat.xgcd, prod.snd, int, nat]), (nat.gcd_b.equations._eqn_1, [eq.refl, nat.xgcd, prod.snd, nat.gcd_b, int, eq, nat]), (nat.gcd_comm, [nat.gcd_dvd_left, nat.gcd_dvd_right, nat.dvd_gcd, nat.dvd_antisymm, nat.gcd, eq, nat]), (nat.gcd_div, [nat.gcd_mul_right, eq.symm, nat.dvd_gcd, nat.div_mul_cancel, nat.has_mul, has_mul.mul, nat.eq_of_mul_eq_mul_right, nat.gcd_zero_right, nat.div_zero, eq.refl, eq.rec, id, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.elim, nat.has_div, has_div.div, nat.gcd, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_dvd, [nat.dvd_mod_iff, iff.mp, id_rhs, and.dcases_on, nat.gcd_rec, eq.symm, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, dvd_refl, dvd_zero, and.intro, nat.gcd_zero_left, eq.refl, eq.rec, eq, id, nat.has_zero, has_zero.zero, eq.mpr, nat.gcd.induction, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, and, nat]), (nat.gcd_dvd_gcd_mul_left, [dvd_mul_left, nat.gcd_dvd_gcd_of_dvd_left, nat.has_mul, has_mul.mul, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_dvd_gcd_of_dvd_left, [nat.gcd_dvd_right, nat.gcd_dvd_left, dvd.trans, nat.dvd_gcd, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_dvd_left, [nat.gcd_dvd, and.left, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_dvd_right, [nat.gcd_dvd, and.right, nat.gcd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_eq_gcd_ab, [zero_add, trivial, eq_self_iff_true, propext, int.add_monoid, add_zero, int.semiring, semiring.to_mul_zero_class, mul_zero, int.monoid, mul_one, has_add, congr_arg, congr, _private.4012458029.P.equations._eqn_1, eq.trans, id, true, eq.mpr, nat.xgcd_aux_P, nat.xgcd_aux_val, int.has_zero, has_zero.zero, int.has_one, has_one.one, nat.xgcd_aux, nat.xgcd_val, eq.refl, eq.rec, nat.xgcd, prod, prod.mk, _private.4012458029.P, eq.mp, nat.gcd_b, nat.gcd_a, int.has_mul, has_mul.mul, int.has_add, has_add.add, nat.gcd, int.has_coe, coe_base, coe_to_lift, coe, int, eq, nat]), (nat.gcd_eq_left, [dvd_refl, nat.dvd_gcd, nat.gcd_dvd_left, nat.dvd_antisymm, nat.gcd, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_eq_right, [nat.gcd_eq_left, nat.gcd_comm, eq.refl, eq.rec, id, eq.mpr, nat.gcd, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.gcd_mul_left, [nat.mul_mod_mul_left, nat.gcd_rec, eq.symm, eq.mp, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.gcd_zero_left, mul_zero, eq.refl, mul_zero_class.to_has_mul, eq.rec, id, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.has_zero, has_zero.zero, eq.mpr, nat.gcd.induction, nat.has_mul, has_mul.mul, nat.gcd, eq, nat]), (nat.gcd_mul_right, [nat.gcd_mul_left, mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_mul, has_mul.mul, nat.gcd, eq, nat]), (nat.gcd_one_left, [trivial, eq_self_iff_true, propext, nat.gcd.equations._eqn_1, eq.refl, nat.mod_one, nat.gcd.equations._eqn_2, nat.has_mod, has_mod.mod, congr_arg, congr, nat.has_zero, has_zero.zero, nat.succ, eq.trans, id, true, eq.mpr, nat.has_one, has_one.one, nat.gcd, eq, nat]), (nat.gcd_one_right, [nat.gcd_one_left, nat.gcd_comm, eq.trans, nat.has_one, has_one.one, nat.gcd, eq, nat]), (nat.gcd_pos_of_pos_left, [nat.gcd_dvd_left, nat.pos_of_dvd_of_pos, nat.gcd, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.gcd_rec, [nat.gcd.equations._eqn_2, nat.succ, trivial, eq_self_iff_true, propext, nat.gcd_zero_right, nat.mod_zero, has_mod, nat.gcd.equations._eqn_1, eq.refl, nat.nat_zero_eq_zero, nat.has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.cases_on, nat.has_mod, has_mod.mod, nat.gcd, eq, nat]), (nat.gcd_zero_left, [trivial, eq_self_iff_true, propext, eq.refl, nat.gcd.equations._eqn_1, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, nat.gcd, eq, nat]), (nat.gcd_zero_right, [nat.succ.inj_eq, nat.zero_mod, nat.gcd.equations._eqn_2, nat.has_mod, has_mod.mod, nat.succ, trivial, eq_self_iff_true, propext, nat.gcd.equations._eqn_1, eq.refl, nat.nat_zero_eq_zero, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.cases_on, nat.has_zero, has_zero.zero, nat.gcd, eq, nat]), (nat.has_add, [nat.add, has_add.mk, nat, has_add]), (nat.has_div, [nat.div, has_div.mk, nat, has_div]), (nat.has_le, [nat.less_than_or_equal, has_le.mk, nat, has_le]), (nat.has_lt, [nat.lt, has_lt.mk, nat, has_lt]), (nat.has_mod, [nat.mod, has_mod.mk, nat, has_mod]), (nat.has_mul, [nat.mul, has_mul.mk, nat, has_mul]), (nat.has_one, [nat.zero, nat.succ, has_one.mk, nat, has_one]), (nat.has_sizeof, [nat.sizeof, has_sizeof.mk, nat, has_sizeof]), (nat.has_sub, [nat.sub, has_sub.mk, nat, has_sub]), (nat.has_zero, [nat.zero, has_zero.mk, nat, has_zero]), (nat.inhabited, [nat.zero, inhabited.mk, nat, inhabited]), (nat.le, [nat.less_than_or_equal, nat]), (nat.le.dest, [heq.refl, eq.refl, nat.add_succ, eq.subst, Exists.dcases_on, pprod, punit, nat.rec, pprod.fst, nat.less_than_or_equal.step, nat.succ, eq.symm, rfl, nat.has_zero, has_zero.zero, Exists.intro, id_rhs, nat.less_than_or_equal.refl, eq.rec, heq, nat.less_than_or_equal, nat.less_than_or_equal.dcases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, eq, Exists, nat.has_le, has_le.le, nat]), (nat.le.intro, [nat.le_add_right, eq.subst, nat.has_le, has_le.le, nat.has_add, has_add.add, eq, nat]), (nat.le_add_left, [nat.le_add_right, nat.add_comm, eq.subst, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_add_of_sub_le_left, [nat.lt_sub_left_of_add_lt, le_imp_le_iff_lt_imp_lt, preorder.to_has_lt, has_lt.lt, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, iff.mpr, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.le_add_right, [pprod, punit, nat.rec, pprod.fst, nat.le_succ_of_le, nat.add, nat.succ, nat.le_refl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_antisymm, [nat.lt_irrefl, nat.lt_of_le_of_lt, nat.has_lt, has_lt.lt, absurd, nat.succ, nat.less_than_or_equal, rfl, nat.less_than_or_equal.cases_on, eq, nat.has_le, has_le.le, nat]), (nat.le_div_iff_mul_le, [iff.refl, nat.add_le_to_le_sub, nat.sub_lt_of_pos_le, nat.add_le_add_iff_le_right, nat.add_one, eq.symm, nat.div_eq_sub_div, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.le_add_right, lt_of_lt_of_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, not_le_of_gt, false_iff, add_comm, nat.succ_mul, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.not_succ_le_zero, iff_false_intro, false, nat.has_add, has_add.add, not, nat.succ, trivial, iff_self, zero_mul, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.zero_le, iff_true_intro, propext, nat.nat_zero_eq_zero, has_le, congr_arg, congr, eq.trans, true, nat.zero, nat.cases_on, nat.div_eq_of_lt, eq.refl, eq.rec, eq, eq.mpr, lt_or_ge, or, preorder.to_has_le, ge, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or.dcases_on, id, has_lt.lt, nat.strong_induction_on, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.has_le, has_le.le, iff, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.le_of_add_le_add_left, [nat.le.dest, nat.add_assoc, eq.refl, eq.rec, eq.mp, nat.add_left_cancel, nat.le.intro, id_rhs, Exists.dcases_on, eq, Exists, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_of_add_le_add_right, [nat.le_of_add_le_add_left, nat.add_comm, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_of_dvd, [mul_one, monoid.to_has_one, has_one.one, nat.monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.mp, nat.succ_pos, nat.mul_le_mul_left, nat.has_mul, nat.succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, absurd, nat.zero, nat.cases_on, eq.refl, eq.rec, id, eq.mpr, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, Exists.dcases_on, nat.has_le, has_le.le, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.le_of_le_of_sub_le_sub_right, [nat.succ_sub_succ, congr_arg, congr, eq, has_le, eq.mp, nat.le_of_succ_le_succ, nat.succ_le_succ, nat.not_succ_le_zero, false, false.dcases_on, nat.cases_on, nat.succ, nat.zero_le, nat.zero, nat.rec, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.le_of_lt, [nat.le_of_succ_le, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, nat]), (nat.le_of_lt_succ, [nat.le_of_succ_le_succ, nat.has_le, has_le.le, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.le_of_sub_eq_zero, [nat.add_sub_add_right, pprod, punit, nat.rec, nat.add, pprod.fst, add_le_add_right, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, preorder.to_has_le, nat.zero_le, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, nat.sub_zero, eq.refl, eq.rec, eq.mp, congr_arg, congr, has_le, id, eq.mpr, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, nat]), (nat.le_of_succ_le, [nat.le_succ, nat.le_trans, nat.succ, nat.has_le, has_le.le, nat]), (nat.le_of_succ_le_succ, [nat.pred_le_pred, nat.succ, nat.has_le, has_le.le, nat]), (nat.le_refl, [nat.less_than_or_equal.refl, nat.has_le, has_le.le, nat]), (nat.le_sub_left_of_add_le, [add_comm, eq.refl, eq, eq.rec, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mp, nat.le_sub_right_of_add_le, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_sub_right_of_add_le, [nat.sub_le_sub_right, nat.add_sub_cancel, eq.symm, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.le_succ, [nat.le_refl, nat.less_than_or_equal.step, nat.succ, nat.has_le, has_le.le, nat]), (nat.le_succ_of_le, [nat.le_succ, nat.le_trans, nat.succ, nat.has_le, has_le.le, nat]), (nat.le_total, [nat.lt_or_ge, nat.le_of_lt, nat.has_lt, has_lt.lt, or.imp_left, nat.has_le, has_le.le, or, nat]), (nat.le_trans, [nat.less_than_or_equal.step, nat.less_than_or_equal, nat.less_than_or_equal.rec, nat.has_le, has_le.le, nat]), (nat.le_zero_iff, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, eq.subst, nat.eq_zero_of_le_zero, iff.intro, eq, nat.has_zero, has_zero.zero, nat.has_le, has_le.le, iff, nat]), (nat.left_distrib, [nat.add_comm, nat.add_left_comm, eq.refl, pprod, punit, nat.rec, pprod.fst, nat.succ_mul, nat.succ, trivial, eq_self_iff_true, propext, has_add, nat.zero_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_mul, has_mul.mul, eq, nat]), (nat.less_than_or_equal, [nat]), (nat.less_than_or_equal.cases_on, [nat.less_than_or_equal.rec, nat.succ, nat.less_than_or_equal, nat]), (nat.less_than_or_equal.dcases_on, [nat.less_than_or_equal.rec, nat.less_than_or_equal.step, nat.succ, nat.less_than_or_equal.refl, nat.less_than_or_equal, nat]), (nat.less_than_or_equal.drec, [nat.less_than_or_equal.rec, nat.less_than_or_equal.step, nat.succ, nat.less_than_or_equal.refl, nat.less_than_or_equal, nat]), (nat.less_than_or_equal.rec, [nat.succ, nat.less_than_or_equal, nat]), (nat.less_than_or_equal.rec_on, [nat.less_than_or_equal.rec, nat.succ, nat.less_than_or_equal, nat]), (nat.less_than_or_equal.refl, [nat.less_than_or_equal, nat]), (nat.less_than_or_equal.step, [nat.succ, nat.less_than_or_equal, nat]), (nat.linear_order, [nat.le_total, nat.le_antisymm, nat.lt_iff_le_not_le, nat.le_trans, nat.le_refl, nat.lt, nat.less_than_or_equal, linear_order.mk, nat, linear_order]), (nat.lt, [nat.succ, nat.less_than_or_equal, nat]), (nat.lt.base, [nat.le_refl, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.lt_add_left, [nat.le_add_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_of_lt_of_le, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat]), (nat.lt_add_of_pos_left, [nat.lt_add_of_pos_right, add_comm, eq.refl, eq.rec, eq, id, nat.comm_semiring, comm_semiring.to_semiring, semiring.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_add, has_add.add, has_lt.lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.lt_add_of_pos_right, [nat.add_lt_add_left, nat.has_add, has_add.add, has_lt.lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.lt_add_of_sub_lt_left, [nat.le_sub_left_of_add_le, le_imp_le_iff_lt_imp_lt, preorder.to_has_lt, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff.mp, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, nat]), (nat.lt_iff_le_not_le, [nat.le_refl, eq.subst, eq, nat.lt_of_le_and_ne, id_rhs, and.dcases_on, nat.lt_of_le_of_lt, nat.lt_irrefl, nat.le_of_lt, and.intro, iff.intro, not, nat.has_le, has_le.le, and, nat.has_lt, has_lt.lt, iff, nat]), (nat.lt_irrefl, [nat.not_succ_le_self, nat.has_lt, has_lt.lt, not, nat]), (nat.lt_of_le_and_ne, [nat.eq_or_lt_of_le, or.swap, eq, or.resolve_right, nat.has_lt, has_lt.lt, ne, nat.has_le, has_le.le, nat]), (nat.lt_of_le_of_lt, [nat.succ_le_succ, nat.succ, nat.le_trans, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, nat]), (nat.lt_of_lt_of_le, [nat.succ, nat.le_trans, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, nat]), (nat.lt_of_sub_eq_succ, [eq.refl, nat.sub_eq_zero_of_le, congr_arg, congr, eq.mp, nat.has_zero, has_zero.zero, false, nat.no_confusion, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, ge, nat.linear_order, lt_of_not_ge, nat.has_lt, has_lt.lt, nat.succ, nat.has_sub, has_sub.sub, eq, nat]), (nat.lt_of_sub_lt_sub_right, [nat.sub_le_sub_right, le_imp_le_iff_lt_imp_lt, preorder.to_has_lt, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff.mp, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, nat]), (nat.lt_of_succ_le, [nat.has_lt, has_lt.lt, nat.succ, nat.has_le, has_le.le, nat]), (nat.lt_of_succ_lt, [nat.le_of_succ_le, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.lt_of_succ_lt_succ, [nat.le_of_succ_le_succ, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.lt_or_ge, [nat.lt_succ_self, eq.subst, nat.eq_or_lt_of_le, eq, nat.le_succ_of_le, or.inl, or.dcases_on, pprod, punit, nat.rec, nat.add, pprod.fst, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, nat.zero_le, or.inr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_le, ge, nat.has_lt, has_lt.lt, or, nat]), (nat.lt_sub_left_of_add_lt, [add_comm, eq.refl, eq, eq.rec, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mp, nat.lt_sub_right_of_add_lt, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat]), (nat.lt_sub_right_of_add_lt, [nat.succ_le_of_lt, nat.succ_add, eq.refl, eq.rec, eq, id, nat.has_le, has_le.le, eq.mpr, nat.succ, nat.le_sub_right_of_add_le, nat.lt_of_succ_le, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_lt, has_lt.lt, nat]), (nat.lt_succ_iff, [nat.succ_le_succ_iff, nat.has_le, has_le.le, nat.succ, nat.has_lt, has_lt.lt, iff, nat]), (nat.lt_succ_of_le, [nat.succ_le_succ, nat.succ, nat.has_lt, has_lt.lt, nat.has_le, has_le.le, nat]), (nat.lt_succ_of_lt, [nat.le_succ_of_le, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.lt_succ_self, [nat.lt.base, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.lt_wf, [acc.inv, eq.substr, nat.le_of_succ_le_succ, nat.eq_or_lt_of_le, eq, or.elim, nat.succ, nat.not_lt_zero, absurd, nat.zero, nat.has_zero, has_zero.zero, acc.intro, nat.has_lt, has_lt.lt, acc, nat.rec, well_founded.intro, nat.lt, nat, well_founded]), (nat.mod, [_private.1161070435.mod.F, nat.lt_wf, nat.lt, well_founded.fix, nat]), (nat.mod_add_div, [trivial, eq_self_iff_true, propext, nat.add_monoid, add_zero, nat.semiring, semiring.to_mul_zero_class, mul_zero, true, if_neg, nat.add_sub_cancel_left, nat.add_sub_assoc, eq.symm, and.right, and.left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_of_lt_of_le, nat.sub_lt, add_left_comm, nat.monoid, mul_one, left_distrib, add_comm, has_mul, distrib.to_has_mul, nat.distrib, distrib.to_has_add, has_add, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.trans, congr_arg, congr, if_pos, nat.mod_def, nat.div_def, eq.refl, eq.rec, id, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, ite, eq.mpr, nat.decidable_le, nat.decidable_lt, and.decidable, decidable.em, or, not, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, and, or.dcases_on, nat.has_lt, has_lt.lt, nat.strong_induction_on, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_mod, has_mod.mod, nat.has_add, has_add.add, eq, nat]), (nat.mod_def, [nat.mod_def_aux, dif_eq_if, eq.refl, eq.rec, not, dite, eq.mp, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, and, ite, nat.has_mod, has_mod.mod, eq, nat]), (nat.mod_def_aux, [_private.1161070435.mod.F, nat.lt_wf, nat.lt, well_founded.fix_eq, congr_fun, not, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, and, dite, nat.has_mod, has_mod.mod, eq, nat]), (nat.mod_eq_of_lt, [eq_self_iff_true, true.intro, iff.mpr, if_neg, if_simp_congr, trivial, not_false_iff, and_false, not_le_of_gt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, propext, not, iff_false_intro, decidable_of_decidable_of_iff, false, congr_arg, congr, eq.trans, true, nat.mod_def, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, and, ite, eq.mpr, nat.has_mod, has_mod.mod, eq, nat.has_lt, has_lt.lt, nat]), (nat.mod_eq_sub_mod, [and.intro, if_pos, nat.mod_def, nat.decidable_le, nat.decidable_lt, and.decidable, has_le.le, has_lt.lt, and, ite, nat.sub_zero, eq.refl, eq.rec, id, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.elim, nat.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, eq, nat.has_le, ge, nat]), (nat.mod_eq_zero_of_dvd, [nat.mul_mod_right, nat.has_mul, eq.refl, eq.rec, id, eq.mpr, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, dvd.elim, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.mod_lt, [nat.succ_pos, nat.sub_lt, nat.le_of_lt_succ, nat.linear_order, le_of_not_gt, nat.mod_eq_sub_mod, eq.symm, nat.has_sub, has_sub.sub, eq.mp, nat.mod_eq_of_lt, nat.decidable_lt, decidable.em, not, nat.succ, or.elim, nat.has_le, has_le.le, nat.zero_mod, eq.refl, eq.rec, eq, id, eq.mpr, nat.case_strong_induction_on, nat.has_mod, has_mod.mod, has_lt.lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.mod_mod, [nat.mod_lt, nat.mod_eq_of_lt, trivial, eq_self_iff_true, propext, nat.mod_zero, eq.refl, has_mod, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.elim, nat.has_mod, has_mod.mod, eq, nat]), (nat.mod_one, [nat.succ_pos, nat.mod_lt, nat.le_of_lt_succ, nat.eq_zero_of_le_zero, nat.has_lt, has_lt.lt, nat.has_zero, has_zero.zero, nat.has_one, has_one.one, nat.has_mod, has_mod.mod, eq, nat]), (nat.mod_self, [nat.zero_mod, nat.sub_self, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, nat.mod_eq_sub_mod, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, eq.mpr, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat]), (nat.mod_two_eq_zero_or_one, [gt, nat.mod_lt, trivial, nat.decidable_lt, not.decidable, not, of_as_true, absurd, has_add.add, or.inr, nat.succ, rfl, or.inl, id_rhs, nat.zero, nat.cases_on, nat.has_lt, has_lt.lt, nat.has_zero, has_zero.zero, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, or, nat]), (nat.mod_zero, [eq_self_iff_true, true.intro, iff.mpr, if_neg, nat.sub_zero, has_mod, if_simp_congr, trivial, not_false_iff, false_and, lt_irrefl, preorder, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, propext, not, iff_false_intro, decidable_of_decidable_of_iff, false, congr_arg, congr, eq.trans, true, nat.mod_def, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, and, ite, eq.mpr, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat]), (nat.modeq, [nat.has_mod, has_mod.mod, eq, nat]), (nat.modeq.dvd_of_modeq, [nat.modeq.modeq_iff_dvd, iff.mp, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, nat.modeq, nat]), (nat.modeq.equations._eqn_1, [eq.refl, nat.has_mod, has_mod.mod, nat.modeq, eq, nat]), (nat.modeq.modeq_add, [nat.modeq.dvd_of_modeq, dvd_add, add_left_comm, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_add, eq.mp, add_assoc, add_comm, neg_add_rev, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, has_add, sub_eq_add_neg, int.coe_nat_add, has_sub, add_group.to_add_monoid, add_monoid.to_add_semigroup, int.add_semigroup, add_semigroup.to_has_add, eq.trans, eq.refl, congr_arg, congr, has_dvd, eq, id, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, int.has_add, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, eq.mpr, nat.modeq.modeq_of_dvd, nat.has_add, has_add.add, nat.modeq, nat]), (nat.modeq.modeq_and_modeq_iff_modeq_mul, [nat.modeq.modeq_of_modeq_mul_left, nat.modeq.modeq_of_modeq_mul_right, and.intro, and.right, eq.mp, and.left, nat.coprime.mul_dvd_of_dvd_of_dvd, int.coe_nat_dvd, nat.comm_semiring, int.dvd_nat_abs, eq.symm, int.nat_abs, nat.modeq.modeq_iff_dvd, propext, eq.refl, eq.rec, eq, id, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, eq.mpr, iff.intro, nat.has_mul, has_mul.mul, nat.modeq, and, iff, nat.coprime, nat]), (nat.modeq.modeq_iff_dvd, [trivial, iff_self, int.dvd_iff_mod_eq_zero, has_dvd, sub_eq_add_neg, has_mod, int.mod_eq_mod_iff_mod_sub_eq_zero, int.coe_nat_mod, congr_arg, congr, int.has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, int.has_mod, eq.trans, true, int.coe_nat_inj', eq.symm, eq_comm, propext, nat.modeq.equations._eqn_1, eq.refl, eq.rec, id, nat.has_mod, has_mod.mod, eq, eq.mpr, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, nat.modeq, iff, nat]), (nat.modeq.modeq_mul, [nat.modeq.modeq_mul_right, nat.modeq.modeq_mul_left, nat.modeq.trans, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_mul_left', [eq.mp, nat.mul_mod_mul_left, eq.refl, eq.rec, nat.modeq.equations._eqn_1, id, nat.has_mod, has_mod.mod, eq, eq.mpr, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_mul_left, [nat.modeq.modeq_mul_left', dvd_mul_left, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.modeq.modeq_of_dvd_of_modeq, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_mul_right, [nat.modeq.modeq_mul_left, mul_comm, eq.refl, eq.rec, eq, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_of_dvd, [nat.modeq.modeq_iff_dvd, iff.mpr, nat.modeq, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, nat]), (nat.modeq.modeq_of_dvd_of_modeq, [nat.modeq.dvd_of_modeq, int.coe_nat_dvd, nat.comm_semiring, iff.mpr, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, int, dvd_trans, nat.modeq.modeq_of_dvd, nat.modeq, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.modeq.modeq_of_modeq_mul_left, [eq.mp, dvd_mul_left, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, dvd.trans, nat.modeq.modeq_iff_dvd, propext, eq.refl, eq.rec, eq, id, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.comm_semiring, comm_semiring_has_dvd, int, has_dvd.dvd, eq.mpr, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_of_modeq_mul_right, [nat.modeq.modeq_of_modeq_mul_left, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.subst, nat.has_mul, has_mul.mul, nat.modeq, nat]), (nat.modeq.modeq_zero_iff, [iff.refl, nat.dvd_iff_mod_eq_zero, propext, nat.comm_semiring, nat.zero_mod, nat.modeq.equations._eqn_1, eq.refl, eq.rec, id, nat.has_mod, has_mod.mod, eq, eq.mpr, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.modeq, iff, nat]), (nat.modeq.refl, [nat.has_mod, has_mod.mod, rfl, nat.modeq, nat]), (nat.modeq.trans, [nat.has_mod, has_mod.mod, eq.trans, nat.modeq, nat]), (nat.monoid, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_monoid, nat, monoid]), (nat.mul, [nat.mul._main, nat]), (nat.mul._main, [pprod, punit, nat.rec, nat.add, pprod.fst, nat.has_add, has_add.add, nat.succ, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat]), (nat.mul_assoc, [trivial, eq_self_iff_true, propext, nat.left_distrib, has_mul, eq.refl, pprod, punit, nat.rec, pprod.fst, has_add, nat.mul_succ, congr_arg, congr, nat.has_add, has_add.add, eq.trans, id, true, eq.mpr, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_comm, [trivial, eq_self_iff_true, propext, nat.succ_mul, pprod, punit, nat.rec, pprod.fst, has_add, nat.mul_succ, congr_arg, congr, nat.has_add, has_add.add, eq.trans, true, nat.succ, nat.mul_zero, nat.zero_mul, eq.refl, eq.rec, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_div_assoc, [nat.div_mul_cancel, nat.mul_div_cancel, mul_assoc, eq.symm, nat.semigroup, semigroup.to_has_mul, mul_zero, mul_zero_class.to_has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.div_zero, eq.refl, eq.rec, id, eq.mpr, nat.eq_zero_or_pos, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.elim, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.mul_div_cancel', [nat.mod_eq_zero_of_dvd, zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, nat.has_zero, has_zero.zero, eq.mp, nat.mod_add_div, nat.has_mod, has_mod.mod, nat.has_add, has_add.add, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.mul_div_cancel, [nat.zero_div, zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, eq.mp, nat.add_mul_div_right, nat.has_add, has_add.add, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.mul_le_mul_left, [nat.le.dest, left_distrib, eq.symm, eq.refl, eq.rec, id, distrib.to_has_add, nat.comm_semiring, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_mul, eq.mpr, nat.le.intro, id_rhs, Exists.dcases_on, nat.has_add, has_add.add, eq, Exists, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.mul_le_mul_right, [nat.mul_le_mul_left, mul_comm, nat.comm_semiring, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.subst, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.mul_left_inj, [rfl, eq.subst, nat.eq_of_mul_eq_mul_left, iff.intro, nat.has_mul, has_mul.mul, eq, iff, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.mul_lt_mul_of_pos_left, [nat.succ_le_of_lt, nat.mul_le_mul_left, nat.mul_succ, nat.succ, nat.has_le, has_le.le, eq.subst, nat.lt_add_of_pos_right, nat.has_add, has_add.add, nat.lt_of_lt_of_le, nat.has_mul, has_mul.mul, nat.has_zero, has_zero.zero, gt, nat.has_lt, has_lt.lt, nat]), (nat.mul_lt_mul_of_pos_right, [nat.mul_lt_mul_of_pos_left, mul_comm, nat.comm_semiring, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.subst, nat.has_mul, has_mul.mul, nat.has_zero, has_zero.zero, gt, nat.has_lt, has_lt.lt, nat]), (nat.mul_mod_mul_left, [nat.pos_of_ne_zero, mul_lt_mul_of_pos_left, ordered_semiring.to_semiring, nat.mod_eq_of_lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, lt_of_lt_of_le, nat.sub_lt, nat.mul_sub_left_distrib, eq.symm, nat.mul_le_mul_left, nat.mod_eq_sub_mod, nat.has_sub, has_sub.sub, le_or_gt, preorder.to_has_lt, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or.elim, gt, nat.has_lt, has_lt.lt, nat.strong_induction_on, zero_mul, not, nat.mod_zero, mul_zero, mul_zero_class.to_has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.refl, eq.rec, id, eq.mpr, nat.decidable_eq, nat.has_zero, has_zero.zero, dite, nat.has_mul, has_mul.mul, nat.has_mod, has_mod.mod, eq, nat]), (nat.mul_mod_right, [nat.zero_mod, nat.add_mul_mod_self_left, nat.has_add, zero_add, eq.symm, eq.refl, eq.rec, id, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, nat.has_zero, has_zero.zero, nat.has_mul, has_mul.mul, nat.has_mod, has_mod.mod, eq, nat]), (nat.mul_one, [nat.zero_add, nat.has_one, has_one.one, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_pred_left, [nat.add_sub_cancel, nat.succ_mul, nat.has_add, has_add.add, nat.pred_succ, eq.rec, nat.succ, trivial, eq_self_iff_true, propext, nat.zero_sub, has_sub, zero_mul, eq.refl, nat.pred_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, nat.has_sub, has_sub.sub, nat.pred, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_right_inj, [rfl, eq.subst, nat.eq_of_mul_eq_mul_right, iff.intro, nat.has_mul, has_mul.mul, eq, iff, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.mul_sub_div, [nat.div_mul_le_self, iff.mpr, nat.sub_pos_of_lt, nat.succ_pred_eq_of_pos, nat.pred, nat.lt_succ_self, zero_mul, mul_zero_class.to_has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.mp, nat.not_lt_zero, nat.eq_zero_or_pos, gt, nat.has_zero, has_zero.zero, or.resolve_left, nat.div_lt_iff_lt_mul, iff.mp, nat.sub_le_sub_left, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, nat.mul_sub_right_distrib, eq.refl, eq.rec, id, nat.has_le, has_le.le, eq.mpr, nat.div_eq_of_lt_le, nat.succ, nat.has_sub, has_sub.sub, nat.has_div, has_div.div, eq, nat.has_mul, has_mul.mul, nat.has_lt, has_lt.lt, nat]), (nat.mul_sub_left_distrib, [nat.mul_sub_right_distrib, mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_sub, has_sub.sub, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_sub_right_distrib, [nat.sub_sub, nat.succ_mul, nat.has_add, has_add.add, pprod, punit, nat.rec, pprod.fst, nat.mul_pred_left, nat.sub_succ, eq.rec, nat.pred, nat.succ, trivial, eq_self_iff_true, propext, nat.semiring, semiring.to_mul_zero_class, zero_mul, has_sub, eq.refl, nat.sub_zero, has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_sub, has_sub.sub, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_succ, [rfl, nat.has_add, has_add.add, nat.succ, nat.has_mul, has_mul.mul, eq, nat]), (nat.mul_zero, [rfl, nat.has_zero, has_zero.zero, nat.has_mul, has_mul.mul, eq, nat]), (nat.nat_zero_eq_zero, [rfl, nat.has_zero, has_zero.zero, nat.zero, nat, eq]), (nat.no_confusion, [eq.refl, nat.cases_on, eq.rec, nat.no_confusion_type, eq, nat]), (nat.no_confusion_type, [eq, nat.cases_on, nat]), (nat.not_coprime_of_dvd_of_dvd, [nat.dvd_gcd, eq.symm, eq.refl, eq.rec, id, eq.mpr, zero_lt_one, nat.le_of_dvd, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, not_lt_of_ge, nat.gcd, eq, nat.coprime, not, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_one, has_one.one, nat.has_lt, gt, nat]), (nat.not_lt_zero, [nat.not_succ_le_zero, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, not, nat]), (nat.not_succ_le_self, [nat.le_of_succ_le_succ, nat.has_zero, has_zero.zero, nat.not_succ_le_zero, nat.rec, nat.succ, nat.has_le, has_le.le, not, nat]), (nat.not_succ_le_zero, [heq.refl, eq.refl, nat.less_than_or_equal.step, nat.less_than_or_equal.refl, nat.no_confusion, nat.zero, heq, eq, nat.less_than_or_equal, nat.less_than_or_equal.dcases_on, false, nat.has_zero, has_zero.zero, nat.succ, nat.has_le, has_le.le, nat]), (nat.odd_mul_odd, [nat.modeq.modeq_mul, nat.has_mul, has_mul.mul, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat]), (nat.odd_mul_odd_div_two, [zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_one, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, propext, nat.zero_mod, has_mod, congr_arg, congr, eq.trans, eq.mp, false, false.rec, nat.pos_of_ne_zero, nat.zero_le, le_mul_of_ge_one_right', nat.sub_add_cancel, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.add_sub_assoc, eq.symm, nat.succ, mul_one, monoid.to_has_one, nat.monoid, monoid.to_semigroup, nat.mul_sub_left_distrib, nat.odd_mul_odd, mul_left_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, nat.two_mul_odd_div_two, nat.has_sub, has_sub.sub, mul_add, eq.refl, eq.rec, id, distrib.to_has_mul, nat.distrib, distrib.to_has_add, eq.mpr, trivial, nat.decidable_lt, of_as_true, nat.mul_left_inj, iff.mp, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, has_add.add, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat]), (nat.one_add, [trivial, eq_self_iff_true, propext, eq.refl, nat.add_comm_semigroup, add_comm, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.succ, nat.has_one, has_one.one, nat.has_add, has_add.add, eq, nat]), (nat.one_mul, [nat.mul_one, nat.mul_comm, eq.refl, eq.rec, id, eq.mpr, nat.has_one, has_one.one, nat.has_mul, has_mul.mul, eq, nat]), (nat.ordered_semiring, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, nat, ordered_semiring]), (nat.pos_iff_ne_zero, [nat.pos_of_ne_zero, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_gt, iff.intro, ne, nat.has_zero, has_zero.zero, nat.has_lt, gt, iff, nat]), (nat.pos_of_dvd_of_pos, [eq_zero_of_zero_dvd, eq.refl, eq.rec, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.mp, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, eq, nat.pos_of_ne_zero, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat]), (nat.pos_of_ne_zero, [nat.eq_zero_or_pos, eq, or.resolve_left, nat.has_lt, gt, nat.has_zero, has_zero.zero, ne, nat]), (nat.pred, [nat.pred._main, nat]), (nat.pred._main, [nat.has_zero, has_zero.zero, id_rhs, nat.cases_on, nat]), (nat.pred_eq_sub_one, [rfl, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.pred, eq, nat]), (nat.pred_le, [nat.less_than_or_equal.step, nat.succ, nat.less_than_or_equal.refl, nat.has_zero, has_zero.zero, nat.less_than_or_equal, id_rhs, nat.cases_on, nat.pred, nat.has_le, has_le.le, nat]), (nat.pred_le_pred, [nat.less_than_or_equal.step, nat.zero, nat.succ, nat.less_than_or_equal, nat.rec, nat.le_refl, nat.less_than_or_equal.rec_on, nat.pred, nat.has_le, has_le.le, nat]), (nat.pred_sub, [nat.one_add, nat.succ, nat.sub_sub, nat.has_add, has_add.add, nat.sub_one, eq.symm, eq.refl, eq.rec, id, nat.has_one, has_one.one, eq.mpr, nat.pred, nat.has_sub, has_sub.sub, eq, nat]), (nat.pred_succ, [rfl, nat.succ, nat.pred, eq, nat]), (nat.pred_zero, [rfl, nat.has_zero, has_zero.zero, nat.pred, nat, eq]), (nat.prime, [eq, or, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, and, nat]), (nat.prime.coprime_iff_not_dvd, [nat.dvd_prime_ge_two, iff.mp, eq.symm, eq.subst, nat.has_lt, gt, nat.coprime_of_dvd, trivial, iff_true_intro, propext, nat.monoid, mul_one, eq.refl, congr_arg, congr, has_dvd, eq.trans, eq, id, true, nat.has_mul, has_mul.mul, eq.mpr, nat.has_one, has_one.one, nat.coprime.dvd_of_dvd_mul_left, nat.prime.not_dvd_one, iff.intro, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, nat.coprime, iff, nat.prime, nat]), (nat.prime.dvd_mul, [dvd_mul_of_dvd_right, dvd_mul_of_dvd_left, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, or.rec, nat.prime.coprime_iff_not_dvd, nat.coprime, nat.coprime.dvd_of_dvd_mul_left, nat.decidable_dvd, or_iff_not_imp_left, not, iff.mpr, iff.intro, or, nat.has_mul, has_mul.mul, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, nat.prime, nat]), (nat.prime.eq_two_or_odd, [or.inr, trivial, nat.decidable_eq, ne.decidable, not, of_as_true, nat.dvd_of_mod_eq_zero, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_le, ge, and.right, or.resolve_left, eq.symm, or.inl, nat.mod_two_eq_zero_or_one, nat.has_zero, has_zero.zero, or.elim, nat.has_mod, has_mod.mod, nat.has_one, has_one.one, nat.has_add, bit0, eq, or, nat.prime, nat]), (nat.prime.ge_two, [eq, or, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, and.left, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, nat.prime, nat]), (nat.prime.gt_one, [nat.prime.ge_two, nat.has_one, has_one.one, nat.has_lt, gt, nat.prime, nat]), (nat.prime.not_dvd_one, [trivial, nat.decidable_lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, of_as_true, nat.le_of_dvd, nat.prime.gt_one, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, not_le_of_gt, false, id_rhs, nat.has_one, has_one.one, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, nat.prime, nat]), (nat.prime.pos, [nat.prime.gt_one, nat.lt_of_succ_lt, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat.prime, nat]), (nat.prime_def_lt', [not.elim, nat.succ, eq_zero_of_zero_dvd, eq.refl, eq.rec, eq.mp, nat.decidable_eq, forall_prop_decidable, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, nat.zero, nat.cases_on, trivial, nat.decidable_lt, of_as_true, eq.symm, preorder.to_has_lt, eq.subst, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, not_lt_of_ge, iff.intro, forall_congr, and_congr_right, nat.prime_def_lt, eq, iff.trans, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, not, nat.has_lt, has_lt.lt, has_le.le, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, and, nat.prime, iff, nat]), (nat.prime_def_lt, [nat.has_zero, has_zero.zero, nat.succ, nat.le_of_succ_le, nat.le_of_dvd, lt_or_eq_of_le, preorder.to_has_lt, or.imp_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, or.resolve_right, iff.intro, forall_congr, or, and_congr_right, eq, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_lt, has_lt.lt, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_le, ge, and, nat.prime, iff, nat]), (nat.prime_two, [trivial, nat.decidable_prime_1, of_as_true, nat.has_one, has_one.one, nat.has_add, nat, bit0, nat.prime]), (nat.rec, [nat.succ, nat.zero, nat]), (nat.rec_on, [nat.rec, nat.succ, nat.zero, nat]), (nat.right_distrib, [trivial, eq_self_iff_true, propext, nat.add_comm, nat.add_left_comm, true, eq.refl, pprod, punit, nat.rec, pprod.fst, has_add, nat.mul_succ, eq.trans, congr_arg, congr, id, eq.mpr, nat.succ, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_mul, has_mul.mul, eq, nat]), (nat.semigroup, [nat.monoid, monoid.to_semigroup, nat, semigroup]), (nat.semiring, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_semiring, nat, semiring]), (nat.sizeof, [nat.sizeof._main, nat]), (nat.sizeof._main, [id_rhs, nat]), (nat.sizeof._main.equations._eqn_1, [id_delta, eq.refl, nat.sizeof._main, eq, nat]), (nat.sizeof.equations._eqn_1, [nat.sizeof._main.equations._eqn_1, nat.sizeof, eq, nat]), (nat.smul_eq_mul, [add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, nat.mul_succ, add_comm, has_add, succ_smul', nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, nat.has_one, has_one.one, nat.has_add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, mul_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, add_monoid.zero_smul, nat.nat_zero_eq_zero, add_monoid, add_monoid.to_has_zero, congr_arg, congr, nat.has_zero, has_zero.zero, eq.trans, true, nat.zero, nat.rec, mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, nat.has_mul, has_mul.mul, nat.add_monoid, add_monoid.smul, eq, nat]), (nat.strong_induction_on, [nat.strong_rec_on, nat.has_lt, has_lt.lt, nat]), (nat.strong_rec_on, [eq.symm, eq.rec, nat.strong_rec_on._proof_1, nat.decidable_eq, nat.decidable_lt, eq, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or.by_cases, nat.not_lt_zero, absurd, nat.zero, nat.rec, nat.lt_succ_self, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.strong_rec_on._proof_1, [nat.le_of_lt_succ, lt_or_eq_of_le, eq, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, or, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.sub, [nat.sub._main, nat]), (nat.sub._main, [pprod, punit, nat.rec, nat.add, pprod.fst, nat.pred, nat.succ, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat]), (nat.sub_add_cancel, [nat.add_sub_of_le, add_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, eq, nat.has_le, ge, nat]), (nat.sub_add_comm, [nat.sub_add_cancel, nat.add_right_comm, eq.refl, eq.rec, id, eq.mpr, nat.le_add_right, nat.le_trans, nat.sub_eq_iff_eq_add, iff.mpr, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat.has_le, has_le.le, nat]), (nat.sub_eq_iff_eq_add, [nat.add_sub_cancel, nat.sub_add_cancel, eq.symm, eq.refl, eq.rec, id, eq.mpr, iff.intro, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, iff, nat.has_le, has_le.le, nat]), (nat.sub_eq_zero_iff_le, [nat.sub_eq_zero_of_le, nat.le_of_sub_eq_zero, iff.intro, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, iff, nat]), (nat.sub_eq_zero_of_le, [nat.sub_self_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.le.dest, nat.has_add, has_add.add, exists.elim, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, nat.has_le, has_le.le, nat]), (nat.sub_le, [nat.pred_le, nat.succ, nat.le_trans, nat.has_zero, has_zero.zero, nat.le_refl, nat.rec_on, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.sub_le_left_of_le_add, [nat.add_lt_of_lt_sub_left, le_imp_le_iff_lt_imp_lt, preorder.to_has_lt, has_lt.lt, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, iff.mpr, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.has_le, has_le.le, nat]), (nat.sub_le_self, [nat.le_add_left, nat.sub_le_left_of_le_add, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.sub_le_sub_left, [nat.pred_le, nat.sub, nat.succ, le_trans, nat.less_than_or_equal, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_refl, nat.less_than_or_equal.drec, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.sub_le_sub_left_iff, [nat.sub_le_sub_left, nat.add_sub_cancel', eq.refl, eq.rec, eq, id, eq.mpr, nat.le_add_of_sub_le_left, nat.le_of_add_le_add_right, nat.has_add, has_add.add, iff.intro, nat.has_sub, has_sub.sub, iff, nat.has_le, has_le.le, nat]), (nat.sub_le_sub_right, [pprod, punit, nat.rec, pprod.fst, nat.pred_le_pred, nat.sub, nat.pred, nat.succ, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat]), (nat.sub_le_sub_right_iff, [nat.sub_le_sub_right, nat.le_of_le_of_sub_le_sub_right, iff.intro, nat.has_sub, has_sub.sub, iff, nat.has_le, has_le.le, nat]), (nat.sub_lt, [nat.sub_le, nat.lt_succ_of_le, nat.succ_sub_succ_eq_sub, eq.symm, eq.subst, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, nat.lt_irrefl, absurd, id_rhs, nat.zero, nat.cases_on, nat.has_sub, has_sub.sub, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.sub_lt_iff, [nat.sub_lt_right_iff_lt_add, iff.symm, nat.sub_lt_left_iff_lt_add, nat.has_add, has_add.add, iff.trans, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, iff, nat.has_le, has_le.le, nat]), (nat.sub_lt_left_iff_lt_add, [nat.succ_le_of_lt, nat.add_sub_cancel_left, nat.sub_le_sub_right, nat.succ_sub, eq.refl, eq.rec, id, eq, eq.mpr, trans_rel_right, trans_rel_left, nat.lt_of_succ_le, nat.succ, nat.lt_add_of_sub_lt_left, iff.intro, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, iff, nat.has_le, has_le.le, nat]), (nat.sub_lt_of_pos_le, [nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_of_lt_of_le, nat.sub_lt, nat.has_sub, has_sub.sub, nat.has_le, has_le.le, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.sub_lt_right_iff_lt_add, [iff.refl, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, nat.sub_lt_left_iff_lt_add, propext, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, nat.has_lt, has_lt.lt, iff, nat.has_le, has_le.le, nat]), (nat.sub_mul_div, [nat.pred_succ, nat.add_one, nat.sub_sub, has_add, nat.mul_succ, eq.mp, add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, nat.sub_add_cancel, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, preorder.to_has_le, le_of_add_le_add_right, nat.div_eq_sub_div, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.le_succ, nat.mul_le_mul_left, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_trans, eq.symm, nat.sub_succ, nat.pred, nat.succ, trivial, eq_self_iff_true, propext, nat.sub_zero, mul_zero, nat.nat_zero_eq_zero, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_sub, has_div, congr_arg, congr, eq.trans, true, nat.zero, nat.rec, nat.zero_sub, nat.div_zero, eq.refl, eq.rec, id, eq.mpr, nat.eq_zero_or_pos, or, nat.has_lt, gt, nat.has_zero, has_zero.zero, or.dcases_on, nat.has_sub, has_sub.sub, nat.has_div, has_div.div, eq, nat.has_mul, has_mul.mul, nat.has_le, has_le.le, nat]), (nat.sub_one, [rfl, nat.pred, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, eq, nat]), (nat.sub_pos_of_lt, [ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, le_of_lt, nat.sub_add_cancel, zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, eq, id, eq.mpr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, lt_of_add_lt_add_right, nat.has_add, has_add.add, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, gt, nat.has_lt, has_lt.lt, nat]), (nat.sub_self, [pprod, punit, nat.rec, pprod.fst, nat.succ_sub_succ, nat.succ, nat.sub_zero, eq.refl, eq.rec, id, eq.mpr, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, nat]), (nat.sub_self_add, [nat.zero_sub, nat.add_sub_add_left, eq.refl, eq.rec, id, eq.mpr, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.sub_sub, [pprod, punit, nat.rec, pprod.fst, nat.sub_succ, nat.pred, nat.add_succ, nat.succ, nat.sub_zero, add_zero, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.rec, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.has_sub, has_sub.sub, eq, nat]), (nat.sub_succ, [rfl, nat.pred, nat.succ, nat.has_sub, has_sub.sub, eq, nat]), (nat.sub_zero, [rfl, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, nat]), (nat.succ, [nat]), (nat.succ.inj, [nat.no_confusion, nat.succ, eq, nat]), (nat.succ.inj_arrow, [nat.succ.inj, nat.succ, eq, nat]), (nat.succ.inj_eq, [congr_arg, nat.succ.inj, iff.intro, propext, nat.succ, eq, nat]), (nat.succ_add, [pprod, punit, nat.rec, nat.add, pprod.fst, congr_arg, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.succ, nat.has_add, has_add.add, eq, nat]), (nat.succ_add_eq_succ_add, [trivial, eq_self_iff_true, propext, nat.succ.inj_eq, nat.add_succ, nat.succ_add, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.succ, nat.has_add, has_add.add, eq, nat]), (nat.succ_eq_add_one, [rfl, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, eq, nat]), (nat.succ_inj, [id, nat.succ.inj_arrow, nat.succ, eq, nat]), (nat.succ_le_iff, [nat.succ_le_of_lt, nat.lt_of_succ_le, iff.intro, nat.has_lt, has_lt.lt, nat.succ, nat.has_le, has_le.le, iff, nat]), (nat.succ_le_of_lt, [nat.succ, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, nat]), (nat.succ_le_succ, [nat.less_than_or_equal.step, nat.less_than_or_equal, nat.le_refl, nat.less_than_or_equal.rec, nat.succ, nat.has_le, has_le.le, nat]), (nat.succ_le_succ_iff, [nat.succ_le_succ, nat.le_of_succ_le_succ, iff.intro, nat.succ, nat.has_le, has_le.le, iff, nat]), (nat.succ_lt_succ, [nat.succ_le_succ, nat.succ, nat.has_lt, has_lt.lt, nat]), (nat.succ_mul, [trivial, eq_self_iff_true, propext, nat.add_left_comm, nat.add_comm, true, nat.succ.inj_eq, nat.add_succ, eq.refl, pprod, punit, nat.rec, pprod.fst, has_add, nat.mul_succ, congr_arg, congr, eq.trans, id, eq.mpr, rfl, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_add, has_add.add, nat.succ, nat.has_mul, has_mul.mul, eq, nat]), (nat.succ_ne_zero, [false, nat.no_confusion, eq, nat.has_zero, has_zero.zero, nat.succ, ne, nat]), (nat.succ_pnat, [nat.succ_pos, nat.succ, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, pnat, nat]), (nat.succ_pos, [nat.zero_lt_succ, nat.succ, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.succ_pred_eq_of_pos, [rfl, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, absurd, id_rhs, nat.zero, nat.cases_on, nat.pred, nat.succ, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (nat.succ_sub, [nat.add_succ, nat.add_sub_cancel_left, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.le.dest, nat.has_add, has_add.add, exists.elim, nat.succ, nat.has_sub, has_sub.sub, eq, nat.has_le, ge, nat]), (nat.succ_sub_one, [rfl, nat.has_one, has_one.one, nat.succ, nat.has_sub, has_sub.sub, eq, nat]), (nat.succ_sub_succ, [nat.succ_sub_succ_eq_sub, nat.succ, nat.has_sub, has_sub.sub, eq, nat]), (nat.succ_sub_succ_eq_sub, [nat.pred, congr_arg, eq.refl, nat.zero, nat.rec_on, nat.succ, nat.has_sub, has_sub.sub, eq, nat]), (nat.sum_totient, [finset.card_range, nat.zero_le, lt_of_le_of_lt, nat.le_of_dvd, absurd, classical.by_contradiction, exists_imp_distrib, exists_prop, funext, finset.mem_bind, decidable_eq, iff.intro, eq_false_intro, heq.refl, heq, eq_of_heq, not_eq_of_eq_false, of_eq_true, and_imp, not_and, iff_false, finset.not_mem_empty, finset.mem_inter, finset.ext, iff, ne.def, finset.mem_insert, finset.range_succ, eq.drec, decidable_pred, has_mem, finset.has_insert, insert, imp_congr_eq, forall_congr_eq, or, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, finset.card_bind, eq_zero_of_zero_dvd, nat.coprime_div_gcd_div_gcd, nat.gcd_dvd_right, nat.gcd_dvd_left, nat.mul_left_inj, mul_one, monoid.to_has_one, nat.monoid, monoid.to_semigroup, semigroup.to_has_mul, nat.gcd_mul_left, and.left, mul_lt_mul_left, ordered_semiring.to_semiring, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, eq.subst, finset.card_congr, finset.sum_congr, ne.symm, iff_false_intro, nat.div_zero, has_div, nat.div_mul_cancel, Exists, Exists.intro, ne, not_true, eq_self_iff_true, mul_zero, has_mul, nat.semiring, mul_zero_class.to_has_zero, eq.mp, false, false.rec, nat.pos_of_ne_zero, nat.mul_right_inj, gt, rfl, trivial, dvd_mul_left, iff_true_intro, comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, propext, true, iff.mp, and.right, nat.mul_div_cancel', congr_arg, congr, has_dvd, nat.has_mul, has_mul.mul, nat.div_le_self, nat.lt_succ_of_le, finset.mem_range, nat.has_lt, has_lt.lt, and.intro, finset.mem_filter, and, iff.mpr, finset.has_mem, finset, has_mem.mem, finset.sum_bij, eq.symm, nat.decidable, nat.has_one, has_one.one, nat.has_div, has_div.div, nat.gcd, finset.bind, finset.card, eq.trans, not, eq.refl, eq.rec, id, eq.mpr, nat.decidable_eq, nat.has_zero, has_zero.zero, dite, nat.totient, nat.succ, finset.range, nat.decidable_dvd, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, finset.filter, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, finset.sum, eq, nat]), (nat.totient, [finset.range, nat.decidable, nat.coprime, finset.filter, finset.card, nat]), (nat.totient_pos, [eq_self_iff_true, propext, eq.refl, nat.gcd_one_right, congr_arg, congr, nat.coprime.equations._eqn_1, nat.gcd, eq.trans, id, true, eq.mpr, finset.mem_range, and.intro, finset.mem_filter, and, nat.decidable_eq, finset.decidable_mem, not_not, Exists.intro, not_forall_of_exists_not, finset.eq_empty_iff_forall_not_mem, iff.mp, finset.has_mem, has_mem.mem, not, eq, mt, finset.card_pos, finset.has_emptyc, has_emptyc.emptyc, finset, ne, iff.mpr, finset.range, nat.decidable, nat.coprime, finset.filter, finset.card, bit0, nat.has_add, has_add.add, nat.has_one, has_one.one, nat.succ, trivial, nat.decidable_lt, forall_prop_decidable, of_as_true, id_rhs, nat.cases_on, nat.totient, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.two_mul_odd_div_two, [nat.add_sub_cancel_left, nat.mod_add_div, eq.symm, eq.rec, has_add.add, eq.trans, eq.refl, congr_arg, congr, id, eq.mpr, nat.has_sub, has_sub.sub, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat]), (nat.units_eq_one, [nat.mul_le_mul_left, units.mul_inv, mul_one, nat.succ, nat.has_mul, has_le, nat.has_le, partial_order.to_preorder, preorder.to_has_le, has_le.le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, le_antisymm, zero_mul, false.rec, units.inv_mul, mul_zero, eq.refl, has_mul, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, units.has_inv, has_inv.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mp, zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_one, nat.zero_ne_one_class, zero_ne_one_class.to_has_zero, propext, units.coe_one, congr_arg, congr, monoid.to_has_one, eq.trans, id, false, eq.mpr, nat.eq_zero_or_pos, or, nat.has_lt, gt, nat.has_zero, has_zero.zero, units.has_coe, coe_base, coe_to_lift, coe, or.dcases_on, units.ext, units.has_one, has_one.one, eq, nat.monoid, nat, units]), (nat.xgcd, [int.has_zero, has_zero.zero, int.has_one, has_one.one, nat.xgcd_aux, prod.snd, int, prod, nat]), (nat.xgcd.equations._eqn_1, [eq.refl, int.has_zero, has_zero.zero, int.has_one, has_one.one, nat.xgcd_aux, prod.snd, nat.xgcd, int, prod, eq, nat]), (nat.xgcd_aux, [nat.xgcd_aux._main, prod, int, nat]), (nat.xgcd_aux._main, [psigma, psigma.mk, nat.xgcd_aux._main._pack, prod, int, nat]), (nat.xgcd_aux._main._pack, [nat.succ_pos, nat.mod_lt, xgcd_aux._main._pack._wf_rec_mk_dec_tactic._aux_1, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_div, has_div.div, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.succ, prod.mk, nat.has_zero, has_zero.zero, id_rhs, nat.zero, psigma.mk, nat.cases_on, psigma.cases_on, has_well_founded.wf, int.has_sizeof_inst, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix, prod, int, nat, psigma]), (nat.xgcd_aux._main._pack.equations._eqn_1, [nat.succ_pos, nat.mod_lt, xgcd_aux._main._pack._wf_rec_mk_dec_tactic._aux_1, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_div, has_div.div, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, nat.succ, id_rhs, nat.zero, nat.cases_on, psigma.cases_on, has_well_founded.wf, int.has_sizeof_inst, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix_eq, prod.mk, nat.xgcd_aux._main._pack, nat.has_zero, has_zero.zero, psigma.mk, prod, psigma, eq, nat, int]), (nat.xgcd_aux._main._pack.equations._eqn_2, [nat.succ_pos, nat.mod_lt, xgcd_aux._main._pack._wf_rec_mk_dec_tactic._aux_1, nat.has_lt, has_lt.lt, prod.mk, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, psigma.cases_on, has_well_founded.wf, int.has_sizeof_inst, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, has_well_founded.r, well_founded.fix_eq, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, nat.has_div, has_div.div, nat.xgcd_aux._main._pack, nat.succ, psigma.mk, prod, psigma, eq, int, nat]), (nat.xgcd_aux._main.equations._eqn_1, [nat.xgcd_aux._main._pack.equations._eqn_1, prod.mk, nat.has_zero, has_zero.zero, nat.xgcd_aux._main, prod, eq, nat, int]), (nat.xgcd_aux._main.equations._eqn_2, [nat.xgcd_aux._main._pack.equations._eqn_2, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, nat.has_div, has_div.div, nat.succ, nat.xgcd_aux._main, prod, eq, int, nat]), (nat.xgcd_aux.equations._eqn_1, [nat.xgcd_aux._main.equations._eqn_1, prod.mk, nat.has_zero, has_zero.zero, nat.xgcd_aux, prod, eq, nat, int]), (nat.xgcd_aux.equations._eqn_2, [nat.xgcd_aux._main.equations._eqn_2, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, nat.has_div, has_div.div, nat.succ, nat.xgcd_aux, prod, eq, int, nat]), (nat.xgcd_aux_P, [eq_self_iff_true, add_right_inj, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_left_comm, mul_neg_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_neg, add_assoc, add_comm, neg_add_rev, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, sub_eq_add_neg, mul_left_comm, mul_add, has_mul, comm_semigroup.to_semigroup, semigroup.to_has_mul, distrib.to_has_mul, int.distrib, distrib.to_has_add, int.comm_semigroup, mul_comm, has_add, has_sub, int.add_semigroup, int.mod_def, add_group.to_has_neg, has_neg.neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, int.has_add, has_add.add, int.has_mod, nat.xgcd_aux_rec, eq.rec, int.has_coe, coe_base, coe_to_lift, coe, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, trivial, int.inhabited, nat.inhabited, forall_const, forall_true_iff, imp_self, propext, nat.xgcd_zero_left, congr_arg, congr, eq.refl, imp_congr_eq, forall_congr_eq, eq.trans, eq, id, true, nat.has_zero, has_zero.zero, eq.mpr, nat.gcd.induction, nat.xgcd_aux, prod, prod.mk, _private.4012458029.P, int, nat]), (nat.xgcd_aux_fst, [nat.gcd_rec, eq.symm, eq.rec, sub_eq_add_neg, eq.refl, true.intro, iff_true_intro, iff.mpr, nat.xgcd_aux_rec, int.has_sub, has_sub.sub, int.has_coe, coe_base, coe_to_lift, coe, int.has_div, has_div.div, int.has_mul, has_mul.mul, add_group.to_has_neg, has_neg.neg, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, trivial, int.inhabited, nat.inhabited, forall_const, eq_self_iff_true, propext, nat.gcd_zero_left, nat.xgcd_zero_left, prod.mk, congr_arg, congr, forall_congr_eq, eq.trans, id, true, nat.has_zero, has_zero.zero, eq.mpr, nat.gcd.induction, nat.gcd, nat.xgcd_aux, prod, prod.fst, eq, int, nat]), (nat.xgcd_aux_rec, [eq.refl, nat.xgcd_aux.equations._eqn_2, congr_arg, congr, id, nat.has_div, eq.mpr, nat.succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, absurd, nat.zero, nat.cases_on, int.has_coe, coe_base, coe_to_lift, coe, int.has_div, has_div.div, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, nat.has_mod, has_mod.mod, nat.xgcd_aux, prod, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, int, nat]), (nat.xgcd_aux_val, [prod.cases_on, nat.xgcd_aux_fst, eq.symm, prod.fst, nat.xgcd.equations._eqn_1, eq.refl, eq.rec, id, prod.snd, eq.mpr, nat.xgcd, nat.gcd, prod.mk, int.has_zero, has_zero.zero, int.has_one, has_one.one, nat.xgcd_aux, int, prod, eq, nat]), (nat.xgcd_val, [prod.cases_on, nat.gcd_b.equations._eqn_1, nat.gcd_a.equations._eqn_1, eq.refl, congr_arg, congr, id, prod.snd, prod.fst, eq.mpr, nat.gcd_b, nat.gcd_a, prod.mk, nat.xgcd, int, prod, eq, nat]), (nat.xgcd_zero_left, [trivial, and_self, eq_self_iff_true, prod.mk.inj_iff, propext, eq.refl, nat.xgcd_aux.equations._eqn_1, congr_arg, congr, and, eq.trans, id, true, eq.mpr, prod.mk, nat.has_zero, has_zero.zero, nat.xgcd_aux, prod, eq, nat, int]), (nat.zero, [nat]), (nat.zero_add, [pprod, punit, nat.rec, nat.add, pprod.fst, congr_arg, nat.succ, rfl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_zero, has_zero.zero, nat.has_add, has_add.add, eq, nat]), (nat.zero_div, [not_le_of_gt, false, preorder.to_has_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, and.rec, if_neg, nat.div_def, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.has_add, has_add.add, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, and, ite, eq.trans, nat.has_zero, has_zero.zero, nat.has_div, has_div.div, eq, nat]), (nat.zero_le, [pprod, punit, nat.rec, nat.add, pprod.fst, nat.less_than_or_equal.step, nat.less_than_or_equal, nat.succ, nat.le_refl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_zero, has_zero.zero, nat.has_le, has_le.le, nat]), (nat.zero_lt_one, [nat.zero_lt_succ, nat.has_one, has_one.one, nat.has_zero, has_zero.zero, nat.has_lt, nat, has_lt.lt]), (nat.zero_lt_succ, [nat.zero_le, nat.succ_le_succ, nat.succ, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat]), (nat.zero_mod, [trivial, eq_self_iff_true, propext, true.intro, not_false_iff, iff.mpr, if_neg, nat.zero_sub, has_mod, if_simp_congr, lt_irrefl, lt_of_lt_of_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, absurd, and.dcases_on, not, iff_false_intro, decidable_of_decidable_of_iff, false, congr_arg, congr, eq.trans, true, nat.mod_def, eq.refl, eq.rec, id, nat.has_sub, has_sub.sub, nat.decidable_le, nat.decidable_lt, and.decidable, nat.has_le, has_le.le, nat.has_lt, has_lt.lt, and, ite, eq.mpr, nat.has_zero, has_zero.zero, nat.has_mod, has_mod.mod, eq, nat]), (nat.zero_mul, [pprod, punit, nat.rec, pprod.fst, nat.mul_succ, eq.refl, eq.rec, id, nat.has_add, has_add.add, eq.mpr, nat.succ, rfl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_zero, has_zero.zero, nat.has_mul, has_mul.mul, eq, nat]), (nat.zero_ne_one, [false, nat.no_confusion, eq, nat.has_one, has_one.one, nat.has_zero, has_zero.zero, nat, ne]), (nat.zero_ne_one_class, [nat.zero_ne_one, nat.has_one, has_one.one, nat.has_zero, has_zero.zero, zero_ne_one_class.mk, nat, zero_ne_one_class]), (nat.zero_sub, [pprod, punit, nat.rec, nat.add, pprod.fst, congr_arg, nat.pred, nat.succ, rfl, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_zero, has_zero.zero, nat.has_sub, has_sub.sub, eq, nat]), (ne, [eq, not]), (ne.decidable, [decidable.false, false, eq, implies.decidable, ne, decidable, decidable_eq]), (ne.def, [rfl, not, ne, eq]), (ne.equations._eqn_1, [eq.refl, not, ne, eq]), (ne.symm, [eq.symm, eq, ne]), (ne_false_of_self, [eq.subst, eq, false, ne]), (ne_of_gt, [lt_irrefl, not, eq.subst, false, absurd, eq, ne, preorder.to_has_lt, gt, preorder]), (ne_of_lt, [lt_irrefl, not, eq.subst, false, absurd, eq, ne, preorder.to_has_lt, has_lt.lt, preorder]), (neg_add, [add_comm, add_comm_group.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, neg_add_rev, eq.refl, eq.rec, id, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, eq, add_comm_group]), (neg_add_cancel_left, [zero_add, add_left_neg, add_monoid.to_has_zero, has_zero.zero, add_assoc, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (neg_add_cancel_right, [trivial, eq_self_iff_true, propext, add_zero, add_left_neg, eq.refl, has_add, add_assoc, add_monoid.to_has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, eq.mpr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (neg_add_rev, [zero_add, add_right_neg, eq.symm, add_assoc, eq.refl, eq.rec, id, add_monoid.to_has_zero, has_zero.zero, eq.mpr, neg_eq_of_add_eq_zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group.to_has_neg, has_neg.neg, eq, add_group]), (neg_dvd_iff_dvd, [neg_dvd_of_dvd, dvd_of_neg_dvd, iff.intro, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, iff, comm_ring]), (neg_dvd_of_dvd, [trivial, eq_self_iff_true, propext, neg_neg, mul_comm, has_neg, mul_neg_eq_neg_mul_symm, congr_arg, congr, comm_ring.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.trans, id, true, comm_semiring.to_semiring, eq.mpr, dvd.intro, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, dvd.elim, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, comm_ring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, comm_ring]), (neg_eq_of_add_eq_zero, [zero_add, add_left_neg, add_assoc, add_zero, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, add_monoid.to_has_zero, has_zero.zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (neg_eq_zero, [iff.refl, neg_zero, neg_inj', propext, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, eq, iff, add_group]), (neg_inj', [trivial, eq_self_iff_true, propext, has_neg, congr_arg, congr, eq.trans, true, neg_neg, eq.symm, eq.refl, eq.rec, id, eq.mpr, iff.intro, add_group.to_has_neg, has_neg.neg, eq, iff, add_group]), (neg_inj, [trivial, eq_self_iff_true, propext, neg_neg, has_neg, congr_arg, congr, eq.trans, true, eq.refl, eq.rec, id, eq.mpr, add_group.to_has_neg, has_neg.neg, eq, add_group]), (neg_le_neg, [add_le_add_left, add_left_neg, eq.subst, ordered_comm_group.to_ordered_cancel_comm_monoid, add_le_add_right, add_neg_cancel_right, zero_add, eq.refl, eq, eq.rec, eq.mp, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (neg_lt, [neg_lt_neg_iff, neg_neg, eq.refl, eq, eq.rec, eq.mp, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, ordered_comm_group]), (neg_lt_neg, [add_lt_add_left, add_left_neg, eq.subst, ordered_comm_group.to_ordered_cancel_comm_monoid, add_lt_add_right, add_neg_cancel_right, zero_add, eq.refl, eq, eq.rec, eq.mp, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (neg_lt_neg_iff, [add_lt_add_iff_left, trivial, iff_self, add_neg_cancel_right, neg_add_cancel_left, add_comm, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, has_lt, eq.mp, propext, eq.refl, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, iff, ordered_comm_group]), (neg_mul_eq_mul_neg, [mul_zero, mul_zero_class.to_has_zero, add_right_neg, left_distrib, eq.symm, eq.refl, eq.rec, id, distrib.to_has_add, ring.to_distrib, distrib.to_has_mul, add_monoid.to_has_zero, has_zero.zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, neg_eq_of_add_eq_zero, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, eq, ring]), (neg_mul_eq_neg_mul, [zero_mul, mul_zero_class.to_has_zero, add_right_neg, right_distrib, eq.symm, eq.refl, eq.rec, id, distrib.to_has_add, ring.to_distrib, distrib.to_has_mul, add_monoid.to_has_zero, has_zero.zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, neg_eq_of_add_eq_zero, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, eq, ring]), (neg_mul_eq_neg_mul_symm, [neg_mul_eq_neg_mul, eq.symm, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ring]), (neg_mul_neg, [trivial, eq_self_iff_true, propext, eq.refl, neg_neg, neg_mul_eq_neg_mul_symm, has_neg, mul_neg_eq_neg_mul_symm, congr_arg, congr, eq.trans, id, true, eq.mpr, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ring]), (neg_ne_zero, [neg_eq_zero, eq, not_congr, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, ne, iff, add_group]), (neg_neg, [add_left_neg, neg_eq_of_add_eq_zero, add_group.to_has_neg, has_neg.neg, eq, add_group]), (neg_neg_of_pos, [neg_lt_neg, neg_zero, eq.refl, eq, eq.rec, eq.mp, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (neg_nonneg_of_nonpos, [neg_le_neg, neg_zero, eq.refl, eq, eq.rec, eq.mp, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (neg_nonpos_of_nonneg, [neg_le_neg, neg_zero, eq.refl, eq, eq.rec, eq.mp, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (neg_one_pow_eq_or, [neg_neg, mul_neg_eq_neg_mul_symm, or_true, neg_inj', mul_one, has_neg, neg_mul_eq_neg_mul_symm, has_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, or.dcases_on, pprod, punit, nat.rec, nat.add, pprod.fst, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, true_or, eq_self_iff_true, propext, eq.refl, pow_zero, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, monoid.to_has_one, has_one.one, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_monoid, monoid.has_pow, has_pow.pow, eq, or, nat, ring]), (neg_pos_of_neg, [neg_lt_neg, neg_zero, eq.refl, eq, eq.rec, eq.mp, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (neg_sub, [add_right_neg, neg_add_cancel_left, add_assoc, sub_eq_add_neg, eq.refl, eq.rec, id, add_monoid.to_has_zero, has_zero.zero, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, neg_eq_of_add_eq_zero, add_group_has_sub, has_sub.sub, add_group.to_has_neg, has_neg.neg, eq, add_group]), (neg_zero, [zero_add, neg_eq_of_add_eq_zero, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group.to_has_neg, has_neg.neg, eq, add_group]), (no_zero_divisors, []), (no_zero_divisors.eq_zero_or_eq_zero_of_mul_eq_zero, [or, no_zero_divisors.zero, has_zero.mk, has_zero.zero, no_zero_divisors.mul, has_mul.mk, has_mul.mul, eq, no_zero_divisors]), (no_zero_divisors.mk, [no_zero_divisors, or, has_zero.mk, has_zero.zero, has_mul.mk, has_mul.mul, eq]), (no_zero_divisors.mul, [no_zero_divisors]), (no_zero_divisors.to_has_mul, [no_zero_divisors.mul, has_mul.mk, has_mul, no_zero_divisors]), (no_zero_divisors.to_has_zero, [no_zero_divisors.zero, has_zero.mk, has_zero, no_zero_divisors]), (no_zero_divisors.zero, [no_zero_divisors]), (nonempty, []), (nonempty.dcases_on, [nonempty.rec, nonempty.intro, nonempty]), (nonempty.intro, [nonempty]), (nonempty.rec, [nonempty]), (nonempty_of_inhabited, [default, nonempty.intro, nonempty, inhabited]), (nonneg_of_mul_nonneg_left, [mul_neg_of_pos_of_neg, not_le_of_gt, linear_order.to_partial_order, linear_ordered_semiring.to_linear_order, le_of_not_gt, preorder.to_has_lt, has_lt.lt, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (nonneg_of_mul_nonneg_right, [mul_neg_of_neg_of_pos, not_le_of_gt, linear_order.to_partial_order, linear_ordered_semiring.to_linear_order, le_of_not_gt, preorder.to_has_lt, has_lt.lt, mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (nonzero_comm_ring, []), (nonzero_comm_ring.add, [nonzero_comm_ring]), (nonzero_comm_ring.add_assoc, [nonzero_comm_ring.add, has_add.mk, has_add.add, eq, nonzero_comm_ring]), (nonzero_comm_ring.add_comm, [nonzero_comm_ring.add_assoc, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring]), (nonzero_comm_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, nonzero_comm_ring.neg, has_neg.mk, has_neg.neg, nonzero_comm_ring.add_zero, nonzero_comm_ring.zero_add, nonzero_comm_ring.zero, nonzero_comm_ring.add_assoc, nonzero_comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring]), (nonzero_comm_ring.add_zero, [nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, nonzero_comm_ring.add_assoc, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring]), (nonzero_comm_ring.left_distrib, [nonzero_comm_ring.add, has_add.mk, has_add.add, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.mk, [nonzero_comm_ring, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq, has_one.mk, has_one.one, has_zero.mk, has_zero.zero, ne]), (nonzero_comm_ring.mul, [nonzero_comm_ring]), (nonzero_comm_ring.mul_assoc, [nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.mul_comm, [nonzero_comm_ring.mul_assoc, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.mul_one, [nonzero_comm_ring.one, has_one.mk, has_one.one, nonzero_comm_ring.mul_assoc, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.neg, [nonzero_comm_ring]), (nonzero_comm_ring.one, [nonzero_comm_ring]), (nonzero_comm_ring.one_mul, [nonzero_comm_ring.one, has_one.mk, has_one.one, nonzero_comm_ring.mul_assoc, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.right_distrib, [nonzero_comm_ring.add, has_add.mk, has_add.add, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring]), (nonzero_comm_ring.to_comm_ring, [nonzero_comm_ring.mul_comm, nonzero_comm_ring.right_distrib, nonzero_comm_ring.left_distrib, nonzero_comm_ring.mul_one, nonzero_comm_ring.one_mul, nonzero_comm_ring.one, nonzero_comm_ring.mul_assoc, nonzero_comm_ring.mul, nonzero_comm_ring.add_comm, nonzero_comm_ring.add_left_neg, nonzero_comm_ring.neg, nonzero_comm_ring.add_zero, nonzero_comm_ring.zero_add, nonzero_comm_ring.zero, nonzero_comm_ring.add_assoc, nonzero_comm_ring.add, comm_ring.mk, comm_ring, nonzero_comm_ring]), (nonzero_comm_ring.to_zero_ne_one_class, [nonzero_comm_ring.zero_ne_one, nonzero_comm_ring.one, nonzero_comm_ring.zero, zero_ne_one_class.mk, zero_ne_one_class, nonzero_comm_ring]), (nonzero_comm_ring.zero, [nonzero_comm_ring]), (nonzero_comm_ring.zero_add, [nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, nonzero_comm_ring.add_assoc, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring]), (nonzero_comm_ring.zero_ne_one, [nonzero_comm_ring.one, has_one.mk, has_one.one, nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, ne, nonzero_comm_ring]), (normalization_domain, []), (normalization_domain.add, [normalization_domain]), (normalization_domain.add_assoc, [normalization_domain.add, has_add.mk, has_add.add, eq, normalization_domain]), (normalization_domain.add_comm, [normalization_domain.add_assoc, normalization_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, normalization_domain]), (normalization_domain.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, normalization_domain.neg, has_neg.mk, has_neg.neg, normalization_domain.add_zero, normalization_domain.zero_add, normalization_domain.zero, normalization_domain.add_assoc, normalization_domain.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, normalization_domain]), (normalization_domain.add_zero, [normalization_domain.zero, has_zero.mk, has_zero.zero, normalization_domain.add_assoc, normalization_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, normalization_domain]), (normalization_domain.eq_zero_or_eq_zero_of_mul_eq_zero, [or, normalization_domain.zero, has_zero.mk, has_zero.zero, normalization_domain.mul, has_mul.mk, has_mul.mul, eq, normalization_domain]), (normalization_domain.left_distrib, [normalization_domain.add, has_add.mk, has_add.add, normalization_domain.mul, has_mul.mk, has_mul.mul, eq, normalization_domain]), (normalization_domain.mk, [normalization_domain, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, units.has_mul, no_zero_divisors.to_has_mul, units.has_one, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, integral_domain.mk, integral_domain.to_domain, domain.to_ring, ring.to_monoid, units, ne, or, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (normalization_domain.mul, [normalization_domain]), (normalization_domain.mul_assoc, [normalization_domain.mul, has_mul.mk, has_mul.mul, eq, normalization_domain]), (normalization_domain.mul_comm, [normalization_domain.mul_assoc, normalization_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, normalization_domain]), (normalization_domain.mul_one, [normalization_domain.one, has_one.mk, has_one.one, normalization_domain.mul_assoc, normalization_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, normalization_domain]), (normalization_domain.neg, [normalization_domain]), (normalization_domain.one, [normalization_domain]), (normalization_domain.one_mul, [normalization_domain.one, has_one.mk, has_one.one, normalization_domain.mul_assoc, normalization_domain.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, normalization_domain]), (normalization_domain.right_distrib, [normalization_domain.add, has_add.mk, has_add.add, normalization_domain.mul, has_mul.mk, has_mul.mul, eq, normalization_domain]), (normalization_domain.to_integral_domain, [normalization_domain.zero_ne_one, normalization_domain.eq_zero_or_eq_zero_of_mul_eq_zero, normalization_domain.mul_comm, normalization_domain.right_distrib, normalization_domain.left_distrib, normalization_domain.mul_one, normalization_domain.one_mul, normalization_domain.one, normalization_domain.mul_assoc, normalization_domain.mul, normalization_domain.add_comm, normalization_domain.add_left_neg, normalization_domain.neg, normalization_domain.add_zero, normalization_domain.zero_add, normalization_domain.zero, normalization_domain.add_assoc, normalization_domain.add, integral_domain.mk, integral_domain, normalization_domain]), (normalization_domain.zero, [normalization_domain]), (normalization_domain.zero_add, [normalization_domain.zero, has_zero.mk, has_zero.zero, normalization_domain.add_assoc, normalization_domain.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, normalization_domain]), (normalization_domain.zero_ne_one, [normalization_domain.one, has_one.mk, has_one.one, normalization_domain.zero, has_zero.mk, has_zero.zero, ne, normalization_domain]), (not, [false]), (not.decidable, [decidable.is_true, false, absurd, decidable.is_false, dite, not, decidable]), (not.elim, [absurd, not]), (not.imp_symm, [false, function.comp, by_contradiction, not, decidable]), (not.intro, [not, false]), (not_and, [false, and_imp, and, not, iff]), (not_and_distrib', [not_and_of_not_or_not, or.inr, and.intro, or.inl, dite, iff.intro, or, and, not, iff, decidable]), (not_and_distrib, [not_and_of_not_or_not, or.inl, and.intro, or.inr, dite, iff.intro, or, and, not, iff, decidable]), (not_and_of_not_or_not, [absurd, or.elim, id_rhs, false, and.dcases_on, and, not, or]), (not_and_self, [absurd, and.elim, iff_false_intro, false, not, and, iff]), (not_congr, [iff.mp, iff.mpr, iff.intro, not, iff]), (not_eq_of_eq_false, [not_false_iff, propext, eq.symm, eq.subst, true, not, false, eq]), (not_eq_of_eq_true, [not_true_iff, propext, eq.symm, eq.subst, false, not, true, eq]), (not_exists, [false, exists_imp_distrib, Exists, not, iff]), (not_false, [id, false, not]), (not_false_iff, [not_false, iff_true_intro, true, false, not, iff]), (not_forall, [not_forall_of_exists_not, Exists.intro, not.imp_symm, iff.intro, iff, not, Exists, decidable]), (not_forall_of_exists_not, [id_rhs, false, Exists.dcases_on, not, Exists]), (not_iff_not_of_iff, [iff.elim_left, iff.elim_right, iff.intro, not, iff]), (not_iff_self, [iff.mpr, iff.mp, iff_false_intro, false, not, iff]), (not_imp_comm, [not.imp_symm, iff.intro, not, iff, decidable]), (not_imp_eq_of_eq_false_right, [classical.by_contradiction, iff.intro, propext, eq.symm, eq.subst, not, false, eq]), (not_imp_not, [mt, by_contradiction, iff.intro, not, iff, decidable]), (not_le, [lt_iff_not_ge, ge, iff.symm, preorder.to_has_lt, has_lt.lt, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, not, iff, linear_order]), (not_le_of_gt, [le_not_le_of_lt, and.right, preorder.to_has_le, has_le.le, not, preorder.to_has_lt, gt, preorder]), (not_le_of_lt, [le_not_le_of_lt, and.right, preorder.to_has_le, has_le.le, not, preorder.to_has_lt, has_lt.lt, preorder]), (not_lt, [not_lt_of_ge, le_of_not_gt, iff.intro, preorder.to_has_le, has_le.le, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, not, iff, linear_order]), (not_lt_of_ge, [not_le_of_gt, preorder.to_has_lt, has_lt.lt, not, preorder.to_has_le, ge, preorder]), (not_not, [not_not_intro, by_contradiction, iff.intro, not, iff, decidable]), (not_not_intro, [not]), (not_or, [absurd, id_rhs, false, or.dcases_on, or, not]), (not_or_distrib, [or.elim, false, id_rhs, and.dcases_on, or.inr, or.inl, and.intro, iff.intro, and, or, not, iff]), (not_or_of_imp, [or.inl, or.inr, dite, not, or, decidable]), (not_true, [trivial, not_not_intro, iff_false_intro, false, true, not, iff]), (not_true_iff, [not_true, false, true, not, iff]), (of_as_true, [of_as_true._match_1, as_true, decidable]), (of_as_true._match_1, [decidable.is_true, false.elim, id_rhs, decidable.is_false, not, decidable.cases_on, as_true, decidable]), (of_eq_true, [trivial, eq.symm, eq.subst, true, eq]), (of_iff_true, [trivial, iff.symm, iff.mp, true, iff]), (of_not_not, [by_contradiction, not, decidable]), (of_to_bool_true, [to_bool_iff, bool.tt, eq, iff.mp, decidable.to_bool, coe_sort_bool, bool, coe_sort, decidable]), (one_dvd, [trivial, eq_self_iff_true, propext, eq.refl, mul_one, mul_comm, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, congr_arg, congr, eq.trans, id, true, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, eq.mpr, dvd.intro, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, comm_semiring_has_dvd, has_dvd.dvd, comm_semiring]), (one_gpow, [trivial, eq_self_iff_true, propext, eq.refl, one_inv, has_inv, gpow_neg_succ, nat.succ, group.to_has_inv, has_inv.inv, congr_arg, congr, eq.trans, id, true, eq.mpr, int.neg_succ_of_nat, one_pow, monoid.has_pow, id_rhs, nat, int.cases_on, group.to_monoid, monoid.to_has_one, has_one.one, group.has_pow, has_pow.pow, eq, int, group]), (one_inv, [one_mul, inv_eq_of_mul_eq_one, group.to_monoid, monoid.to_has_one, has_one.one, group.to_has_inv, has_inv.inv, eq, group]), (one_lt_mul, [zero_lt_one, mul_zero_class.to_has_zero, has_zero.zero, lt_of_lt_of_le, zero_le_one, mul_lt_mul', one_mul, monoid.to_semigroup, semigroup.to_has_mul, eq.subst, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, preorder.to_has_lt, has_lt.lt, ordered_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (one_mul, [monoid.one_mul, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (one_ne_zero, [eq.symm, zero_ne_one_class.zero_ne_one, eq, zero_ne_one_class.to_has_zero, has_zero.zero, zero_ne_one_class.to_has_one, has_one.one, ne, zero_ne_one_class]), (one_pow, [mul_one, has_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, monoid.to_has_one, has_one.one, monoid.has_pow, has_pow.pow, eq, nat, monoid]), (one_smul, [module.one_smul, ring.to_monoid, monoid.to_has_one, has_one.one, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (option, []), (option.bind, [option.bind._main, option]), (option.bind._main, [option.none, id_rhs, option.cases_on, option]), (option.bind_eq_some', [exists_eq_left', option.some.inj_eq, option.some_bind', trivial, iff_self, exists_false, iff_false_intro, false_and, propext, funext, option.no_confusion, eq_false_intro, eq.refl, option.none_bind', congr_arg, congr, false, eq.trans, id, true, option.none, eq.mpr, option.cases_on, and, Exists, option.some, option.bind, eq, iff, option]), (option.cases_on, [option.rec, option.some, option.none, option]), (option.decidable_eq, [option.decidable_eq._main, option, decidable_eq]), (option.decidable_eq._main, [option.decidable_eq._match_1, false, option.no_confusion, decidable.is_false, option.some, rfl, decidable.is_true, id_rhs, option.none, eq, decidable, option.cases_on, option, decidable_eq]), (option.decidable_eq._match_1, [congr_arg, decidable.is_true, absurd, false, option.no_confusion, decidable.is_false, id_rhs, not, decidable.cases_on, option.some, option, eq, decidable]), (option.decidable_exists_mem, [option.decidable_exists_mem._main, option.has_mem, has_mem.mem, Exists, decidable, option, decidable_pred]), (option.decidable_exists_mem._main, [iff_self, exists_eq_left', option.some.inj_eq, exists_prop, and, eq.refl, congr, decidable_of_iff, trivial, exists_false, true.intro, not_false_iff, option.no_confusion, eq_false_intro, iff.refl, iff, eq.rec, option.mem_def, option.some, not_congr, iff.trans, iff.mpr, exists_prop_of_false, iff_false_intro, propext, funext, congr_arg, false, eq.trans, eq, id, true, not, eq.mpr, decidable.is_false, option.none, id_rhs, option.cases_on, option.has_mem, has_mem.mem, Exists, decidable, option, decidable_pred]), (option.decidable_forall_mem, [option.decidable_forall_mem._main, option.has_mem, has_mem.mem, decidable, option, decidable_pred]), (option.decidable_forall_mem._main, [iff_self, forall_eq', option.some.inj_eq, congr_arg, congr, iff, decidable_of_iff, trivial, forall_true_iff, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, eq.refl, option.no_confusion, eq_false_intro, option.mem_def, propext, option.some, imp_congr_eq, false, forall_congr_eq, eq.trans, eq, id, true, eq.mpr, decidable.is_true, option.none, id_rhs, option.cases_on, option.has_mem, has_mem.mem, decidable, option, decidable_pred]), (option.eq_none_iff_forall_not_mem, [iff_false, eq_false_intro, option.mem_def, propext, congr_arg, congr, eq.trans, forall_congr_eq, id, eq.mpr, option.ext, heq.refl, option.no_confusion, false, eq.refl, eq.rec, eq.mp, heq, option.some, eq.dcases_on, iff.intro, option.has_mem, has_mem.mem, not, option.none, eq, iff, option]), (option.ext, [iff.mp, eq.symm, iff.mpr, option.some, rfl, id_rhs, option.none, option.cases_on, eq, option.has_mem, has_mem.mem, iff, option]), (option.get_or_else, [option.get_or_else._main, option]), (option.get_or_else._main, [id_rhs, option.cases_on, option]), (option.guard, [option.none, option.some, ite, option, decidable_pred]), (option.guard.equations._eqn_1, [eq.refl, option.none, option.some, ite, option.guard, option, eq, decidable_pred]), (option.has_mem, [option.some, eq, has_mem.mk, option, has_mem]), (option.lift_or_get, [option.lift_or_get._main, option]), (option.lift_or_get._main, [option.some, option.none, id_rhs, option.cases_on, option]), (option.lift_or_get._main.equations._eqn_1, [id_delta, eq.refl, option.none, option.lift_or_get._main, option, eq]), (option.lift_or_get._main.equations._eqn_2, [id_delta, eq.refl, option.some, option.none, option.lift_or_get._main, option, eq]), (option.lift_or_get._main.equations._eqn_3, [id_delta, eq.refl, option.none, option.some, option.lift_or_get._main, option, eq]), (option.lift_or_get._main.equations._eqn_4, [id_delta, eq.refl, option.some, option.lift_or_get._main, option, eq]), (option.lift_or_get.equations._eqn_1, [option.lift_or_get._main.equations._eqn_1, option.none, option.lift_or_get, option, eq]), (option.lift_or_get.equations._eqn_2, [option.lift_or_get._main.equations._eqn_2, option.some, option.none, option.lift_or_get, option, eq]), (option.lift_or_get.equations._eqn_3, [option.lift_or_get._main.equations._eqn_3, option.none, option.some, option.lift_or_get, option, eq]), (option.lift_or_get.equations._eqn_4, [option.lift_or_get._main.equations._eqn_4, option.some, option.lift_or_get, option, eq]), (option.lift_or_get_assoc, [is_associative.assoc, option.lift_or_get.equations._eqn_4, option.lift_or_get.equations._eqn_3, option.some.inj_eq, option.lift_or_get.equations._eqn_2, option.some, trivial, eq_self_iff_true, propext, option.lift_or_get.equations._eqn_1, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, option.none, eq, option.cases_on, is_associative.mk, option.lift_or_get, option, is_associative]), (option.lift_or_get_choice, [option.some.inj_eq, eq.refl, option.lift_or_get.equations._eqn_4, eq.trans, congr_arg, congr, id, eq.mpr, or.inr, option.some, rfl, or.inl, id_rhs, option.none, option.cases_on, option.lift_or_get, option, eq, or]), (option.lift_or_get_comm, [is_commutative.comm, option.lift_or_get.equations._eqn_4, option.some.inj_eq, option.lift_or_get.equations._eqn_3, option.lift_or_get.equations._eqn_2, option.some, trivial, eq_self_iff_true, propext, option.lift_or_get.equations._eqn_1, congr_arg, congr, eq.trans, id, true, eq.mpr, option.none, eq, option.cases_on, is_commutative.mk, option.lift_or_get, option, is_commutative]), (option.lift_or_get_idem, [option.some.inj_eq, is_idempotent.idempotent, option.lift_or_get.equations._eqn_4, option.some, trivial, eq_self_iff_true, propext, eq.refl, option.lift_or_get.equations._eqn_1, congr_arg, congr, eq.trans, id, true, option.none, eq.mpr, eq, option.cases_on, is_idempotent.mk, option.lift_or_get, option, is_idempotent]), (option.map, [option.some, function.comp, option.bind, option]), (option.map_eq_some', [exists_eq_left', option.some.inj_eq, option.map_some', trivial, iff_self, exists_false, iff_false_intro, false_and, propext, funext, option.no_confusion, eq_false_intro, eq.refl, option.map_none', congr_arg, congr, false, eq.trans, id, true, option.none, eq.mpr, option.cases_on, and, Exists, option.some, option.map, eq, iff, option]), (option.map_none', [rfl, option.none, option.map, option, eq]), (option.map_some', [rfl, option.some, option.map, option, eq]), (option.mem_def, [iff.rfl, option.some, eq, option.has_mem, has_mem.mem, iff, option]), (option.no_confusion, [eq.refl, option.cases_on, eq.rec, option.no_confusion_type, eq, option]), (option.no_confusion_type, [eq, option.cases_on, option]), (option.none, [option]), (option.none_bind', [rfl, option.none, option.bind, eq, option]), (option.rec, [option.some, option.none, option]), (option.rec_on, [option.rec, option.some, option.none, option]), (option.some, [option]), (option.some.inj, [option.no_confusion, option.some, option, eq]), (option.some.inj_arrow, [option.some.inj, option.some, option, eq]), (option.some.inj_eq, [congr_arg, option.some.inj, iff.intro, propext, option.some, option, eq]), (option.some_bind', [rfl, option.some, option.bind, eq, option]), (option.some_inj, [trivial, iff_self, propext, eq.refl, option.some.inj_eq, congr_arg, congr, eq.trans, id, true, eq.mpr, option.some, option, eq, iff]), (or, []), (or.assoc, [or.imp_left, or.inr, or.inl, or.imp_right, or.rec, iff.intro, or, iff]), (or.by_cases, [false, or.elim, false.rec, not, dite, or, decidable]), (or.cases_on, [or.rec, or]), (or.comm, [or.swap, iff.intro, or, iff]), (or.dcases_on, [or.rec, or.inr, or.inl, or]), (or.decidable, [false, or.rec, decidable.is_false, or.inr, not, or.inl, decidable.is_true, dite, or, decidable]), (or.elim, [or.rec, or]), (or.imp, [or.inr, or.inl, or.rec, or]), (or.imp_left, [id, or.imp, or]), (or.imp_right, [id, or.imp, or]), (or.inl, [or]), (or.inr, [or]), (or.left_comm, [iff.refl, or.comm, or_congr, or.assoc, iff.symm, iff.trans, or, iff]), (or.neg_resolve_left, [id, absurd, or.elim, not, or]), (or.rec, [or]), (or.resolve_left, [id, absurd, or.elim, not, or]), (or.resolve_right, [absurd, id, or.elim, not, or]), (or.swap, [or.inl, or.inr, or.rec, or]), (or_and_distrib_left, [or.imp_right, imp_intro, function.comp, and.rec, or.inr, and.imp, or.inl, and.intro, or.rec, iff.intro, and, or, iff]), (or_and_distrib_right, [or_congr, and_or_distrib_left, and.comm, iff.trans, or, and, iff]), (or_assoc, [or.assoc, or, iff]), (or_comm, [or.comm, or, iff]), (or_congr, [iff.mpr, iff.mp, or.imp, iff.intro, or, iff]), (or_eq_of_eq_false_left, [false_or, propext, eq.symm, eq.subst, or, false, eq]), (or_eq_of_eq_false_right, [or_false, propext, eq.symm, eq.subst, or, false, eq]), (or_false, [or.inl, false.elim, id, or.rec, iff.intro, false, or, iff]), (or_iff_left_of_imp, [or.inl, id, or.rec, iff.intro, or, iff]), (or_iff_not_imp_left, [or.inr, function.comp, or.inl, dite, or.resolve_left, iff.intro, not, or, iff, decidable]), (or_iff_not_imp_right, [or_iff_not_imp_left, or.comm, iff.trans, not, or, iff, decidable]), (or_iff_right_of_imp, [or.inr, id, or.rec, iff.intro, or, iff]), (or_imp_distrib, [or.rec, id_rhs, and.dcases_on, or.inr, or.inl, and.intro, iff.intro, and, or, iff]), (or_self, [or.inl, id, or.rec, iff.intro, or, iff]), (or_true, [trivial, or.inr, iff_true_intro, true, or, iff]), (order_eq_card_gpowers, [subtype.mk_eq_mk, subtype, eq.mp, pow_injective_of_lt_order_of, finset.mem_univ, heq.refl, order_of_pos, nat.has_zero, iff.mpr, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_gt, int.mod_nonneg, gpow_eq_mod_order_of, subtype.eq, int.mod_lt_of_pos, int.to_nat_of_nonneg, int.coe_nat_lt, propext, id, eq.mpr, int.to_nat, int.has_mod, has_mod.mod, int.has_le, has_le.le, int.has_zero, has_zero.zero, int.has_lt, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, Exists.dcases_on, Exists, finset.has_mem, finset, subtype.cases_on, rfl, group.has_pow, has_pow.pow, Exists.intro, int.has_coe, coe_base, coe_to_lift, int, coe, gpow, subtype.mk, nat.has_lt, has_lt.lt, set.has_mem, has_mem.mem, subtype.decidable_eq, finset.card_eq_of_bijective, finset.univ, finset.card, eq.symm, decidable_gpowers, set_fintype, gpowers, set.has_coe_to_sort, set, coe_sort, fintype.card, order_of, nat, eq, decidable_eq, fintype, group]), (order_of, [order_of._proof_1, nat.decidable_lt, exists_prop_decidable, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, Exists, nat.find, nat, decidable_eq, fintype, group]), (order_of._proof_1, [exists_pow_eq_one, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, Exists, decidable_eq, fintype, group]), (order_of_dvd_card_univ, [fintype.of_equiv, quotient_group.inhabited, nonempty_of_inhabited, fintype.fintype_prod_right, is_subgroup.to_is_submonoid, is_submonoid.one_mem, group.to_monoid, monoid.to_has_one, has_one.one, set.has_mem, has_mem.mem, subtype.mk, nonempty.intro, classical.prop_decidable, fintype.fintype_prod_left, fintype.card_prod, is_subgroup.group_equiv_quotient_times_subgroup, fintype.card_congr, prod.fintype, fintype.subsingleton, subsingleton.elim, congr_arg, order_eq_card_gpowers, decidable_gpowers, set_fintype, eq.trans, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.refl, eq.rec, id, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, eq.mpr, dvd.intro, nat.has_mul, has_mul.mul, eq, set.has_coe_to_sort, set, coe_sort, gpowers.is_subgroup, gpowers, quotient_group.quotient, prod, fintype.card, order_of, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, nat, has_dvd.dvd, decidable_eq, fintype, group]), (order_of_dvd_of_pow_eq_one, [pow_eq_mod_order_of, eq.symm, eq.refl, eq.rec, id, eq.mpr, nat.dvd_of_mod_eq_zero, nat.comm_semiring, mt, nat.pos_of_ne_zero, Exists.intro, order_of_pos, nat.mod_lt, has_lt.lt, nat.has_mod, has_mod.mod, order_of._proof_1, nat.decidable_lt, exists_prop_decidable, nat.has_zero, has_zero.zero, nat.has_lt, gt, Exists, nat.find_min, not, nat.decidable_dvd, by_contradiction, order_of, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat, decidable_eq, fintype, group]), (order_of_eq_card_of_forall_mem_gppowers, [fintype.subsingleton, subsingleton.elim, eq.drec, congr, set.mem_univ, iff_true_intro, propext, funext, congr_arg, set.set_coe_eq_subtype, has_coe_to_sort.S, eq.trans, true, subtype, order_eq_card_gpowers, decidable_gpowers, equiv.set.univ, fintype.card_congr, eq.symm, eq.refl, eq.rec, id, set.univ_decidable, set_fintype, set.univ, set.has_coe_to_sort, coe_sort, eq.mpr, fintype.card, order_of, nat, eq, gpowers, set.has_mem, set, has_mem.mem, decidable_eq, fintype, group]), (order_of_le_of_pow_eq_one, [Exists.intro, exists_pow_eq_one, nat.decidable_lt, exists_prop_decidable, gt, Exists, nat.find_min', order_of, nat.has_le, has_le.le, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, decidable_eq, fintype, group]), (order_of_pos, [nat.find_spec, id_rhs, Exists.dcases_on, exists_pow_eq_one, nat.decidable_lt, exists_prop_decidable, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.find, Exists, nat.has_zero, has_zero.zero, order_of, nat.has_lt, nat, gt, decidable_eq, fintype, group]), (order_of_pow, [order_of_pos, nat.gcd_pos_of_pos_left, mul_assoc, nat.semigroup, nat.div_mul_cancel, nat.comm_semiring, nat.dvd_of_mul_dvd_mul_right, nat.coprime_div_gcd_div_gcd, nat.coprime.dvd_of_dvd_mul_right, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, one_pow, pow_order_of_eq_one, nat.gcd_dvd_right, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, nat.gcd_dvd_left, nat.mul_div_assoc, pow_mul, eq.symm, eq.refl, eq.rec, id, nat.has_mul, has_mul.mul, monoid.to_has_one, has_one.one, eq.mpr, order_of_dvd_of_pow_eq_one, nat.dvd_antisymm, nat.gcd, nat.has_div, has_div.div, group.to_monoid, monoid.has_pow, has_pow.pow, order_of, eq, nat, decidable_eq, fintype, group]), (ordered_cancel_comm_monoid, []), (ordered_cancel_comm_monoid.add, [ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_assoc, [ordered_cancel_comm_monoid.add, has_add.mk, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_comm, [ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_le_add_left, [ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.le_antisymm, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_left_cancel, [ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_right_cancel, [ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.add_zero, [ordered_cancel_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.le, [ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.le_antisymm, [eq, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, preorder.mk, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.le_of_add_le_add_left, [ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_cancel_comm_monoid.le_antisymm, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.le_refl, [ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.le_trans, [ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.lt, [ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, ordered_cancel_comm_monoid.le, has_le.mk, has_le.le, and, ordered_cancel_comm_monoid.lt, has_lt.mk, has_lt.lt, iff, auto_param, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.mk, [ordered_cancel_comm_monoid, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ordered_cancel_comm_monoid.to_add_comm_monoid, [ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, [ordered_cancel_comm_monoid.add_left_cancel, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_left_cancel_semigroup.mk, add_left_cancel_semigroup, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, [ordered_cancel_comm_monoid.add_right_cancel, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_right_cancel_semigroup.mk, add_right_cancel_semigroup, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.to_ordered_comm_monoid, [lt_of_add_lt_add_left, ordered_cancel_comm_monoid.add_le_add_left, ordered_cancel_comm_monoid.le_antisymm, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, ordered_cancel_comm_monoid.add_comm, ordered_cancel_comm_monoid.add_zero, ordered_cancel_comm_monoid.zero_add, ordered_cancel_comm_monoid.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, ordered_comm_monoid.mk, ordered_comm_monoid, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.to_partial_order, [ordered_cancel_comm_monoid.le_antisymm, ordered_cancel_comm_monoid.lt_iff_le_not_le, ordered_cancel_comm_monoid.le_trans, ordered_cancel_comm_monoid.le_refl, ordered_cancel_comm_monoid.lt, ordered_cancel_comm_monoid.le, partial_order.mk, partial_order, ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.zero, [ordered_cancel_comm_monoid]), (ordered_cancel_comm_monoid.zero_add, [ordered_cancel_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_cancel_comm_monoid.add_assoc, ordered_cancel_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_cancel_comm_monoid]), (ordered_comm_group, []), (ordered_comm_group.add, [ordered_comm_group]), (ordered_comm_group.add_assoc, [ordered_comm_group.add, has_add.mk, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.add_comm, [ordered_comm_group.add_assoc, ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.add_le_add_left, [ordered_comm_group.add_comm, ordered_comm_group.add_left_neg, ordered_comm_group.neg, ordered_comm_group.add_zero, ordered_comm_group.zero_add, ordered_comm_group.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.le_antisymm, ordered_comm_group.lt_iff_le_not_le, ordered_comm_group.le_trans, ordered_comm_group.le_refl, ordered_comm_group.lt, ordered_comm_group.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (ordered_comm_group.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.neg, has_neg.mk, has_neg.neg, ordered_comm_group.add_zero, ordered_comm_group.zero_add, ordered_comm_group.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.add_zero, [ordered_comm_group.zero, has_zero.mk, has_zero.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.le, [ordered_comm_group]), (ordered_comm_group.le_antisymm, [eq, ordered_comm_group.lt_iff_le_not_le, ordered_comm_group.le_trans, ordered_comm_group.le_refl, ordered_comm_group.lt, ordered_comm_group.le, preorder.mk, preorder.to_has_le, has_le.le, ordered_comm_group]), (ordered_comm_group.le_of_add_le_add_left, [ordered_comm_group.add_le_add_left, neg_add_cancel_left, congr_arg, congr, eq, has_le, eq.mp, add_group.to_has_neg, has_neg.neg, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (ordered_comm_group.le_refl, [ordered_comm_group.le, has_le.mk, has_le.le, ordered_comm_group]), (ordered_comm_group.le_trans, [ordered_comm_group.le, has_le.mk, has_le.le, ordered_comm_group]), (ordered_comm_group.lt, [ordered_comm_group]), (ordered_comm_group.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, ordered_comm_group.le, has_le.mk, has_le.le, and, ordered_comm_group.lt, has_lt.mk, has_lt.lt, iff, auto_param, ordered_comm_group]), (ordered_comm_group.mk, [ordered_comm_group, preorder.to_has_lt, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ordered_comm_group.neg, [ordered_comm_group]), (ordered_comm_group.to_add_comm_group, [ordered_comm_group.add_comm, ordered_comm_group.add_left_neg, ordered_comm_group.neg, ordered_comm_group.add_zero, ordered_comm_group.zero_add, ordered_comm_group.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, add_comm_group.mk, add_comm_group, ordered_comm_group]), (ordered_comm_group.to_ordered_cancel_comm_monoid, [ordered_comm_group.le_of_add_le_add_left, ordered_comm_group.add_le_add_left, ordered_comm_group.le_antisymm, ordered_comm_group.lt_iff_le_not_le, ordered_comm_group.le_trans, ordered_comm_group.le_refl, ordered_comm_group.lt, ordered_comm_group.le, ordered_comm_group.to_ordered_cancel_comm_monoid._proof_2, ordered_comm_group.to_ordered_cancel_comm_monoid._proof_1, ordered_comm_group.add_comm, ordered_comm_group.add_zero, ordered_comm_group.zero_add, ordered_comm_group.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid, ordered_comm_group]), (ordered_comm_group.to_ordered_cancel_comm_monoid._proof_1, [add_left_cancel, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_left_cancel_add_semigroup, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.to_ordered_cancel_comm_monoid._proof_2, [add_right_cancel, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_group.to_partial_order, [ordered_comm_group.le_antisymm, ordered_comm_group.lt_iff_le_not_le, ordered_comm_group.le_trans, ordered_comm_group.le_refl, ordered_comm_group.lt, ordered_comm_group.le, partial_order.mk, partial_order, ordered_comm_group]), (ordered_comm_group.zero, [ordered_comm_group]), (ordered_comm_group.zero_add, [ordered_comm_group.zero, has_zero.mk, has_zero.zero, ordered_comm_group.add_assoc, ordered_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_group]), (ordered_comm_monoid, []), (ordered_comm_monoid.add, [ordered_comm_monoid]), (ordered_comm_monoid.add_assoc, [ordered_comm_monoid.add, has_add.mk, has_add.add, eq, ordered_comm_monoid]), (ordered_comm_monoid.add_comm, [ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_monoid]), (ordered_comm_monoid.add_le_add_left, [ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_monoid]), (ordered_comm_monoid.add_zero, [ordered_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_monoid]), (ordered_comm_monoid.le, [ordered_comm_monoid]), (ordered_comm_monoid.le_antisymm, [eq, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, preorder.mk, preorder.to_has_le, has_le.le, ordered_comm_monoid]), (ordered_comm_monoid.le_refl, [ordered_comm_monoid.le, has_le.mk, has_le.le, ordered_comm_monoid]), (ordered_comm_monoid.le_trans, [ordered_comm_monoid.le, has_le.mk, has_le.le, ordered_comm_monoid]), (ordered_comm_monoid.lt, [ordered_comm_monoid]), (ordered_comm_monoid.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, ordered_comm_monoid.le, has_le.mk, has_le.le, and, ordered_comm_monoid.lt, has_lt.mk, has_lt.lt, iff, auto_param, ordered_comm_monoid]), (ordered_comm_monoid.lt_of_add_lt_add_left, [ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_monoid]), (ordered_comm_monoid.mk, [ordered_comm_monoid, preorder.to_has_lt, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ordered_comm_monoid.to_add_comm_monoid, [ordered_comm_monoid.add_comm, ordered_comm_monoid.add_zero, ordered_comm_monoid.zero_add, ordered_comm_monoid.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid, ordered_comm_monoid]), (ordered_comm_monoid.to_partial_order, [ordered_comm_monoid.le_antisymm, ordered_comm_monoid.lt_iff_le_not_le, ordered_comm_monoid.le_trans, ordered_comm_monoid.le_refl, ordered_comm_monoid.lt, ordered_comm_monoid.le, partial_order.mk, partial_order, ordered_comm_monoid]), (ordered_comm_monoid.zero, [ordered_comm_monoid]), (ordered_comm_monoid.zero_add, [ordered_comm_monoid.zero, has_zero.mk, has_zero.zero, ordered_comm_monoid.add_assoc, ordered_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_comm_monoid]), (ordered_ring, []), (ordered_ring.add, [ordered_ring]), (ordered_ring.add_assoc, [ordered_ring.add, has_add.mk, has_add.add, eq, ordered_ring]), (ordered_ring.add_comm, [ordered_ring.add_assoc, ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.add_le_add_left, [ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, ordered_ring.neg, has_neg.mk, has_neg.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.add_lt_add_left, [ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (ordered_ring.add_zero, [ordered_ring.zero, has_zero.mk, has_zero.zero, ordered_ring.add_assoc, ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.le, [ordered_ring]), (ordered_ring.le_antisymm, [eq, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, preorder.mk, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.le_refl, [ordered_ring.le, has_le.mk, has_le.le, ordered_ring]), (ordered_ring.le_trans, [ordered_ring.le, has_le.mk, has_le.le, ordered_ring]), (ordered_ring.left_distrib, [ordered_ring.add, has_add.mk, has_add.add, ordered_ring.mul, has_mul.mk, has_mul.mul, eq, ordered_ring]), (ordered_ring.lt, [ordered_ring]), (ordered_ring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, ordered_ring.le, has_le.mk, has_le.le, and, ordered_ring.lt, has_lt.mk, has_lt.lt, iff, auto_param, ordered_ring]), (ordered_ring.mk, [ordered_ring, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, ordered_comm_group.mk, ordered_comm_group.to_partial_order, ne, preorder.to_has_lt, add_comm_group.mk, add_comm_group.to_add_group, add_group.to_add_monoid, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ordered_ring.mul, [ordered_ring]), (ordered_ring.mul_assoc, [ordered_ring.mul, has_mul.mk, has_mul.mul, eq, ordered_ring]), (ordered_ring.mul_le_mul_of_nonneg_left, [sub_nonneg_of_le, ordered_ring.mul_nonneg, mul_sub_left_distrib, eq.refl, eq, eq.rec, eq.mp, le_of_sub_nonneg, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.mul_le_mul_of_nonneg_right, [sub_nonneg_of_le, ordered_ring.mul_nonneg, mul_sub_right_distrib, eq.refl, eq, eq.rec, eq.mp, le_of_sub_nonneg, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.mul_lt_mul_of_pos_left, [sub_pos_of_lt, ordered_ring.mul_pos, mul_sub_left_distrib, eq.refl, eq, eq.rec, eq.mp, lt_of_sub_pos, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (ordered_ring.mul_lt_mul_of_pos_right, [sub_pos_of_lt, ordered_ring.mul_pos, mul_sub_right_distrib, eq.refl, eq, eq.rec, eq.mp, lt_of_sub_pos, ring.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (ordered_ring.mul_nonneg, [ordered_ring.right_distrib, ordered_ring.left_distrib, ordered_ring.mul_one, ordered_ring.one_mul, ordered_ring.mul_assoc, ordered_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.zero_ne_one, ordered_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.add_lt_add_left, ordered_ring.add_le_add_left, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.mul_one, [ordered_ring.one, has_one.mk, has_one.one, ordered_ring.mul_assoc, ordered_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ordered_ring]), (ordered_ring.mul_pos, [ordered_ring.right_distrib, ordered_ring.left_distrib, ordered_ring.mul_one, ordered_ring.one_mul, ordered_ring.mul_assoc, ordered_ring.mul, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ordered_ring.zero_ne_one, ordered_ring.one, zero_ne_one_class.mk, zero_ne_one_class.to_has_zero, has_zero.zero, ordered_ring.add_lt_add_left, ordered_ring.add_le_add_left, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, ordered_comm_group.mk, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_ring]), (ordered_ring.neg, [ordered_ring]), (ordered_ring.one, [ordered_ring]), (ordered_ring.one_mul, [ordered_ring.one, has_one.mk, has_one.one, ordered_ring.mul_assoc, ordered_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ordered_ring]), (ordered_ring.right_distrib, [ordered_ring.add, has_add.mk, has_add.add, ordered_ring.mul, has_mul.mk, has_mul.mul, eq, ordered_ring]), (ordered_ring.to_ordered_comm_group, [ordered_ring.add_lt_add_left, ordered_ring.add_le_add_left, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, ordered_comm_group.mk, ordered_comm_group, ordered_ring]), (ordered_ring.to_ordered_semiring, [ordered_ring.mul_lt_mul_of_pos_right, ordered_ring.mul_lt_mul_of_pos_left, ordered_ring.mul_le_mul_of_nonneg_right, ordered_ring.mul_le_mul_of_nonneg_left, ordered_ring.to_ordered_semiring._proof_5, ordered_ring.add_le_add_left, ordered_ring.le_antisymm, ordered_ring.lt_iff_le_not_le, ordered_ring.le_trans, ordered_ring.le_refl, ordered_ring.lt, ordered_ring.le, ordered_ring.to_ordered_semiring._proof_4, ordered_ring.to_ordered_semiring._proof_3, ordered_ring.to_ordered_semiring._proof_2, ordered_ring.to_ordered_semiring._proof_1, ordered_ring.right_distrib, ordered_ring.left_distrib, ordered_ring.mul_one, ordered_ring.one_mul, ordered_ring.one, ordered_ring.mul_assoc, ordered_ring.mul, ordered_ring.add_comm, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, ordered_semiring.mk, ordered_semiring, ordered_ring]), (ordered_ring.to_ordered_semiring._proof_1, [zero_mul, mul_zero_class.to_has_zero, has_zero.zero, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ordered_ring]), (ordered_ring.to_ordered_semiring._proof_2, [mul_zero, mul_zero_class.to_has_zero, has_zero.zero, ordered_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, ordered_ring]), (ordered_ring.to_ordered_semiring._proof_3, [add_left_cancel, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.to_ordered_semiring._proof_4, [add_right_cancel, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.to_ordered_semiring._proof_5, [le_of_add_le_add_left, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_ring.to_ordered_comm_group, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_ring]), (ordered_ring.to_ring, [ordered_ring.right_distrib, ordered_ring.left_distrib, ordered_ring.mul_one, ordered_ring.one_mul, ordered_ring.one, ordered_ring.mul_assoc, ordered_ring.mul, ordered_ring.add_comm, ordered_ring.add_left_neg, ordered_ring.neg, ordered_ring.add_zero, ordered_ring.zero_add, ordered_ring.zero, ordered_ring.add_assoc, ordered_ring.add, ring.mk, ring, ordered_ring]), (ordered_ring.to_zero_ne_one_class, [ordered_ring.zero_ne_one, ordered_ring.one, ordered_ring.zero, zero_ne_one_class.mk, zero_ne_one_class, ordered_ring]), (ordered_ring.zero, [ordered_ring]), (ordered_ring.zero_add, [ordered_ring.zero, has_zero.mk, has_zero.zero, ordered_ring.add_assoc, ordered_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_ring]), (ordered_ring.zero_ne_one, [ordered_ring.one, has_one.mk, has_one.one, ordered_ring.zero, has_zero.mk, has_zero.zero, ne, ordered_ring]), (ordered_semiring, []), (ordered_semiring.add, [ordered_semiring]), (ordered_semiring.add_assoc, [ordered_semiring.add, has_add.mk, has_add.add, eq, ordered_semiring]), (ordered_semiring.add_comm, [ordered_semiring.add_assoc, ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_semiring]), (ordered_semiring.add_le_add_left, [ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (ordered_semiring.add_left_cancel, [ordered_semiring.add_assoc, ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_semiring]), (ordered_semiring.add_right_cancel, [ordered_semiring.add_assoc, ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_semiring]), (ordered_semiring.add_zero, [ordered_semiring.zero, has_zero.mk, has_zero.zero, ordered_semiring.add_assoc, ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_semiring]), (ordered_semiring.le, [ordered_semiring]), (ordered_semiring.le_antisymm, [eq, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, preorder.mk, preorder.to_has_le, has_le.le, ordered_semiring]), (ordered_semiring.le_of_add_le_add_left, [ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (ordered_semiring.le_refl, [ordered_semiring.le, has_le.mk, has_le.le, ordered_semiring]), (ordered_semiring.le_trans, [ordered_semiring.le, has_le.mk, has_le.le, ordered_semiring]), (ordered_semiring.left_distrib, [ordered_semiring.add, has_add.mk, has_add.add, ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.lt, [ordered_semiring]), (ordered_semiring.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, ordered_semiring.le, has_le.mk, has_le.le, and, ordered_semiring.lt, has_lt.mk, has_lt.lt, iff, auto_param, ordered_semiring]), (ordered_semiring.mk, [ordered_semiring, preorder.to_has_lt, mul_zero_class.to_has_mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, partial_order.mk, partial_order.to_preorder, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ordered_semiring.mul, [ordered_semiring]), (ordered_semiring.mul_assoc, [ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.mul_le_mul_of_nonneg_left, [mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.mul_zero, ordered_semiring.zero_mul, ordered_semiring.right_distrib, ordered_semiring.left_distrib, ordered_semiring.mul_one, ordered_semiring.one_mul, ordered_semiring.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.le_of_add_le_add_left, ordered_semiring.add_le_add_left, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, ordered_semiring.add_right_cancel, ordered_semiring.add_left_cancel, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (ordered_semiring.mul_le_mul_of_nonneg_right, [mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.mul_zero, ordered_semiring.zero_mul, ordered_semiring.right_distrib, ordered_semiring.left_distrib, ordered_semiring.mul_one, ordered_semiring.one_mul, ordered_semiring.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.le_of_add_le_add_left, ordered_semiring.add_le_add_left, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, ordered_semiring.add_right_cancel, ordered_semiring.add_left_cancel, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_semiring]), (ordered_semiring.mul_lt_mul_of_pos_left, [mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.mul_zero, ordered_semiring.zero_mul, ordered_semiring.right_distrib, ordered_semiring.left_distrib, ordered_semiring.mul_one, ordered_semiring.one_mul, ordered_semiring.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.le_of_add_le_add_left, ordered_semiring.add_le_add_left, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, ordered_semiring.add_right_cancel, ordered_semiring.add_left_cancel, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (ordered_semiring.mul_lt_mul_of_pos_right, [mul_zero_class.to_has_mul, has_mul.mul, ordered_semiring.mul_zero, ordered_semiring.zero_mul, ordered_semiring.right_distrib, ordered_semiring.left_distrib, ordered_semiring.mul_one, ordered_semiring.one_mul, ordered_semiring.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semiring.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ordered_semiring.le_of_add_le_add_left, ordered_semiring.add_le_add_left, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, ordered_semiring.add_right_cancel, ordered_semiring.add_left_cancel, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_semiring]), (ordered_semiring.mul_one, [ordered_semiring.one, has_one.mk, has_one.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.mul_zero, [ordered_semiring.zero, has_zero.mk, has_zero.zero, ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.one, [ordered_semiring]), (ordered_semiring.one_mul, [ordered_semiring.one, has_one.mk, has_one.one, ordered_semiring.mul_assoc, ordered_semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.right_distrib, [ordered_semiring.add, has_add.mk, has_add.add, ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, ordered_semiring]), (ordered_semiring.to_ordered_cancel_comm_monoid, [ordered_semiring.le_of_add_le_add_left, ordered_semiring.add_le_add_left, ordered_semiring.le_antisymm, ordered_semiring.lt_iff_le_not_le, ordered_semiring.le_trans, ordered_semiring.le_refl, ordered_semiring.lt, ordered_semiring.le, ordered_semiring.add_right_cancel, ordered_semiring.add_left_cancel, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, ordered_cancel_comm_monoid.mk, ordered_cancel_comm_monoid, ordered_semiring]), (ordered_semiring.to_semiring, [ordered_semiring.mul_zero, ordered_semiring.zero_mul, ordered_semiring.right_distrib, ordered_semiring.left_distrib, ordered_semiring.mul_one, ordered_semiring.one_mul, ordered_semiring.one, ordered_semiring.mul_assoc, ordered_semiring.mul, ordered_semiring.add_comm, ordered_semiring.add_zero, ordered_semiring.zero_add, ordered_semiring.zero, ordered_semiring.add_assoc, ordered_semiring.add, semiring.mk, semiring, ordered_semiring]), (ordered_semiring.zero, [ordered_semiring]), (ordered_semiring.zero_add, [ordered_semiring.zero, has_zero.mk, has_zero.zero, ordered_semiring.add_assoc, ordered_semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ordered_semiring]), (ordered_semiring.zero_mul, [ordered_semiring.zero, has_zero.mk, has_zero.zero, ordered_semiring.mul, has_mul.mk, has_mul.mul, eq, ordered_semiring]), (out_param, []), (partial_order, []), (partial_order.cases_on, [partial_order.rec, partial_order.mk, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, partial_order]), (partial_order.ext, [preorder.ext, eq.refl, eq.rec, eq.drec, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, partial_order.le, preorder.mk.inj_arrow, partial_order.mk, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, auto_param, has_le.mk, preorder, partial_order.cases_on, eq, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff, partial_order]), (partial_order.le, [partial_order]), (partial_order.le_antisymm, [eq, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, partial_order.le, preorder.mk, preorder.to_has_le, has_le.le, partial_order]), (partial_order.le_refl, [partial_order.le, has_le.mk, has_le.le, partial_order]), (partial_order.le_trans, [partial_order.le, has_le.mk, has_le.le, partial_order]), (partial_order.lt, [partial_order]), (partial_order.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, partial_order.le, has_le.mk, has_le.le, and, partial_order.lt, has_lt.mk, has_lt.lt, iff, auto_param, partial_order]), (partial_order.mk, [partial_order, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (partial_order.mk.inj, [and.intro, partial_order.no_confusion, partial_order.mk, partial_order, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (partial_order.mk.inj_arrow, [and.elim_right, partial_order.mk.inj, and.elim_left, partial_order.mk, partial_order, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (partial_order.no_confusion, [eq.refl, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, partial_order.cases_on, eq.rec, partial_order.no_confusion_type, eq, partial_order]), (partial_order.no_confusion_type, [eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, partial_order.cases_on, partial_order]), (partial_order.rec, [partial_order.mk, eq, preorder.mk, preorder.to_has_le, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, partial_order]), (partial_order.to_preorder, [partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, partial_order.le, preorder.mk, preorder, partial_order]), (pnat, [nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype]), (pnat.comm_monoid, [pnat.comm_monoid._proof_5, pnat.comm_monoid._proof_4, pnat.comm_monoid._proof_3, nat.succ_pnat, pnat.comm_monoid._proof_2, pnat.comm_monoid._proof_1, subtype.val, nat.has_mul, has_mul.mul, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype.mk, comm_monoid.mk, pnat, comm_monoid]), (pnat.comm_monoid._proof_1, [subtype.property, mul_pos, mul_zero_class.to_has_zero, nat.has_zero, has_zero.zero, nat.has_lt, subtype.val, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, gt, pnat]), (pnat.comm_monoid._proof_2, [nat.semigroup, mul_assoc, subtype.eq, subtype.property, nat.ordered_semiring, mul_pos, subtype.val, nat.has_mul, subtype.mk, has_mul.mk, has_mul.mul, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype, eq, pnat]), (pnat.comm_monoid._proof_3, [nat.monoid, one_mul, nat.succ_pnat, has_one.mk, has_one.one, nat.semigroup, mul_assoc, has_mul.mk, subtype.eq, subtype.property, nat.ordered_semiring, mul_pos, subtype.val, nat.has_mul, subtype.mk, semigroup.mk, semigroup.to_has_mul, has_mul.mul, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype, eq, pnat]), (pnat.comm_monoid._proof_4, [nat.monoid, mul_one, nat.succ_pnat, has_one.mk, has_one.one, nat.semigroup, mul_assoc, has_mul.mk, subtype.eq, subtype.property, nat.ordered_semiring, mul_pos, subtype.val, nat.has_mul, subtype.mk, semigroup.mk, semigroup.to_has_mul, has_mul.mul, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype, eq, pnat]), (pnat.comm_monoid._proof_5, [nat.comm_semigroup, mul_comm, nat.semigroup, mul_assoc, has_mul.mk, subtype.eq, subtype.property, nat.ordered_semiring, mul_pos, subtype.val, nat.has_mul, subtype.mk, semigroup.mk, semigroup.to_has_mul, has_mul.mul, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat, subtype, eq, pnat]), (pnat.mk_coe, [rfl, subtype.mk, coe_subtype, coe_base, coe_to_lift, subtype, coe, eq, nat.has_zero, has_zero.zero, nat.has_lt, gt, nat]), (pnat.pos, [subtype.property, nat.has_zero, has_zero.zero, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, nat, gt, pnat]), (polynomial, [comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp, comm_semiring]), (polynomial.C, [nat.has_zero, has_zero.zero, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, nat, finsupp.single, polynomial, comm_semiring, decidable_eq]), (polynomial.C.equations._eqn_1, [eq.refl, nat.has_zero, has_zero.zero, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, nat, finsupp.single, polynomial.C, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.C.is_ring_hom, [polynomial.C.is_semiring_hom, is_ring_hom.of_semiring, polynomial.C, polynomial.comm_ring, comm_ring.to_ring, comm_ring.to_comm_semiring, polynomial, is_ring_hom, comm_ring, decidable_eq]), (polynomial.C.is_semiring_hom, [polynomial.C_mul, polynomial.C_add, polynomial.C_1, polynomial.C_0, is_semiring_hom.mk, polynomial.C, polynomial.comm_semiring, comm_semiring.to_semiring, polynomial, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.C_0, [eq.refl, finsupp.single_zero, polynomial.C.equations._eqn_1, nat.has_zero, nat.decidable_eq, finsupp.single, eq.trans, congr_arg, congr, id, finsupp.has_zero, nat, finsupp, eq.mpr, polynomial.has_zero, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.C, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.C_1, [rfl, polynomial.has_one, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.C, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.C_add, [nat.has_zero, has_zero.zero, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, nat.decidable_eq, nat, finsupp.single_add, polynomial.has_add, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_add, has_add.add, polynomial.C, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.C_apply, [rfl, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, nat.has_zero, has_zero.zero, ite, polynomial.C, polynomial.has_coe_to_fun, polynomial, coe_fn, eq, comm_semiring, decidable_eq, nat]), (polynomial.C_mul, [trivial, eq_self_iff_true, propext, nat.add_monoid, add_zero, eq.refl, finsupp, eq.drec, has_zero, finsupp.single_mul_single, has_mul, nat.has_add, has_add.add, polynomial.C.equations._eqn_1, congr_arg, congr, nat.has_zero, has_zero.zero, mul_zero_class.to_has_zero, nat.decidable_eq, nat, finsupp.single, eq.trans, id, true, eq.mpr, polynomial.has_mul, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, polynomial.C, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.X, [semiring.to_monoid, monoid.to_has_one, nat.has_one, has_one.one, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, nat, finsupp.single, polynomial, comm_semiring, decidable_eq]), (polynomial.X.equations._eqn_1, [eq.refl, semiring.to_monoid, monoid.to_has_one, nat.has_one, has_one.one, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, nat, finsupp.single, polynomial.X, polynomial, eq, comm_semiring, decidable_eq]), (polynomial.X_pow_sub_C_ne_zero, [trivial, nat.decidable_eq, option.decidable_eq, ne.decidable, of_as_true, polynomial.degree_X_pow_sub_C, eq.refl, eq.rec, id, with_bot.has_coe_t, coe_to_lift, coe, eq.mpr, polynomial.degree_eq_bot, iff.mpr, with_bot.has_bot, lattice.has_bot.bot, polynomial.degree, with_bot, eq, mt, polynomial.has_zero, polynomial.C, polynomial.X, polynomial.comm_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, ne, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, nonzero_comm_ring, decidable_eq]), (polynomial.add_apply, [semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, nat.decidable_eq, finsupp.add_apply, comm_semiring.to_semiring, semiring.to_distrib, distrib.to_has_add, polynomial.has_add, has_add.add, polynomial.has_coe_to_fun, coe_fn, eq, nat, polynomial, comm_semiring, decidable_eq]), (polynomial.apply_nat_degree_eq_zero_of_degree_lt, [polynomial.degree_le_nat_degree, with_bot.has_coe_t, coe_to_lift, coe, lt_of_lt_of_le, polynomial.eq_zero_of_degree_lt, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, eq, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial, comm_semiring, decidable_eq]), (polynomial.card_nth_roots, [polynomial.X_pow_sub_C_ne_zero, nat.pos_of_ne_zero, polynomial.degree_X_pow_sub_C, polynomial.comm_ring, polynomial.degree_C_le, polynomial.C.is_ring_hom, is_ring_hom.map_sub, ring.to_add_comm_group, polynomial.C_1, eq.symm, polynomial.has_one, semiring.to_monoid, pow_zero, monoid.to_has_one, has_one.one, polynomial.card_roots, le_trans, with_bot.coe_le_coe, with_bot.partial_order, iff.mp, trivial, nat.zero_le, iff_true_intro, finset.card_empty, dif_pos, polynomial.roots.equations._eqn_1, eq.drec, decidable_eq, iff_true, polynomial.eval_zero, polynomial.is_root.def, polynomial.eval, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, forall_congr_eq, lattice.le_bot_iff, lattice.order_bot.to_partial_order, propext, polynomial.degree_zero, eq.refl, with_bot.order_bot, lattice.order_bot.to_has_bot, funext, polynomial.roots._proof_1, Exists, polynomial.is_root, iff, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, eq.rec, finset.has_mem, has_mem.mem, with_bot.has_bot, lattice.has_bot.bot, with_bot.has_coe_t, coe_to_lift, coe, with_bot, and, classical.some, not, polynomial.decidable_eq, polynomial.nth_roots.equations._eqn_1, true.intro, eq_self_iff_true, iff.mpr, polynomial.roots, finset.has_emptyc, finset, has_emptyc.emptyc, congr_arg, congr, has_le, eq.trans, id, true, eq.mpr, polynomial.has_zero, polynomial.C, polynomial.X, polynomial.integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nat.has_zero, has_zero.zero, eq, dite, classical.prop_decidable, decidable, polynomial.nth_roots, finset.card, nat.has_le, has_le.le, nat, integral_domain]), (polynomial.card_roots, [classical.some_spec, polynomial.exists_finset_roots, and.left, dif_neg, eq.rec, eq.refl, polynomial.roots.equations._eqn_1, has_lift_t, congr_arg, congr, has_le, id, polynomial.roots._proof_1, polynomial.is_root, finset.has_mem, has_mem.mem, iff, and, classical.some, not, finset.has_emptyc, has_emptyc.emptyc, finset, polynomial.decidable_eq, eq, dite, eq.mpr, polynomial.degree, polynomial.roots, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial.has_zero, has_zero.zero, ne, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.comm_ring, [semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, nat.decidable_eq, nat, finsupp.to_comm_ring, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.comm_semiring, [semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, nat.decidable_eq, nat, finsupp.to_comm_semiring, polynomial, comm_semiring, decidable_eq]), (polynomial.decidable_eq, [nat.decidable_eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp.decidable_eq, polynomial, comm_semiring, decidable_eq]), (polynomial.degree, [option.some, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, nat, with_bot, polynomial, comm_semiring, decidable_eq]), (polynomial.degree.equations._eqn_1, [eq.refl, option.some, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, polynomial.degree, nat, with_bot, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_C, [if_neg, eq.refl, eq.rec, id, eq.mpr, option.some, nat.has_zero, nat.decidable_eq, finset.has_insert, singleton, finset.has_emptyc, has_emptyc.emptyc, finset, ite, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, option, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, polynomial.C, polynomial.degree, nat, with_bot, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ne, comm_semiring, decidable_eq]), (polynomial.degree_C_le, [le_refl, true.intro, not_false_iff, iff_false_intro, ne.def, false, iff.refl, iff, eq.rec, ne, iff.mpr, polynomial.degree_C, not, trivial, lattice.bot_le, iff_true_intro, lattice.order_bot, lattice.order_bot.to_has_bot, with_bot.order_bot, lattice.order_bot.to_partial_order, propext, polynomial.degree_zero, polynomial.C_0, eq.refl, eq.drec, polynomial.has_zero, polynomial, congr_arg, congr, has_le, with_bot.has_bot, lattice.has_bot.bot, eq.trans, id, true, eq.mpr, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq, dite, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, has_zero.zero, polynomial.C, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, comm_semiring, decidable_eq]), (polynomial.degree_X, [zero_ne_one, ne.symm, if_neg, zero_ne_one_class.to_has_zero, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_one, eq.rec, polynomial.degree.equations._eqn_1, finsupp.single.equations._eqn_1, polynomial.X.equations._eqn_1, finsupp.single, eq.refl, eq.drec, polynomial, comm_semiring, finsupp.support, finsupp.single._proof_1, finsupp.mk, eq.trans, congr_arg, congr, id, option.some, nat.decidable_eq, finset.has_insert, singleton, finset.has_emptyc, has_emptyc.emptyc, finset, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, ite, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, eq.mpr, nat.has_one, with_bot.has_one, has_one.one, polynomial.X, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.degree, nat, with_bot, eq, nonzero_comm_ring, decidable_eq]), (polynomial.degree_X_pow, [zero_ne_one, zero_ne_one_class.to_has_one, ne.symm, one_mul, polynomial.leading_coeff_X_pow, polynomial.comm_semiring, polynomial.leading_coeff_X, comm_semiring.to_semiring, semiring.to_monoid, add_comm, nat.add_comm_semigroup, with_bot.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, pprod, punit, nat.rec, nat.add, pprod.fst, polynomial.degree_X, with_bot.has_one, polynomial.degree_mul_eq', polynomial.has_mul, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, pow_succ, eq.rec, monoid.to_semigroup, semigroup.to_has_mul, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, polynomial.leading_coeff, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ne, nat.has_one, nat.has_add, has_add.add, nat.succ, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, nat.decidable_eq, nat.canonically_ordered_comm_semiring, with_top.coe_zero, polynomial.degree_one, pow_zero, eq.refl, eq.drec, comm_semiring, monoid.to_has_one, has_one.one, eq.trans, congr_arg, congr, id, with_top, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, with_bot.has_coe_t, coe_to_lift, coe, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, polynomial, has_pow.pow, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.degree, with_bot, eq, nat, nonzero_comm_ring, decidable_eq]), (polynomial.degree_X_pow_sub_C, [with_bot.coe_lt_coe, with_bot.partial_order, iff.mpr, polynomial.degree_C_le, polynomial.degree_neg, preorder.to_has_le, has_le.le, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, lt_of_le_of_lt, polynomial.degree_X_pow, polynomial.degree_add_eq_of_degree_lt, polynomial.has_add, add_comm, semiring.to_semimodule, ring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, sub_eq_add_neg, eq.refl, eq.rec, id, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, add_group.to_has_neg, has_neg.neg, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, with_bot.has_coe_t, coe_to_lift, coe, polynomial.C, polynomial.X, polynomial.comm_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial, has_sub.sub, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.degree, with_bot, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, nonzero_comm_ring, decidable_eq]), (polynomial.degree_X_sub_C, [nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, has_lt.lt.decidable, of_as_true, polynomial.degree_C, nat.add_monoid, with_bot.add_monoid, polynomial.degree_neg, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, polynomial.degree_add_eq_of_degree_lt, not, trivial, eq_self_iff_true, propext, zero_add, neg_zero, polynomial.C_0, has_neg, polynomial.has_zero, has_add, add_monoid.to_has_zero, eq.drec, comm_semiring, congr_arg, congr, eq.trans, true, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, dite, polynomial.degree_X, eq.symm, add_comm, semiring.to_semimodule, polynomial.comm_ring, ring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, sub_eq_add_neg, eq.refl, eq.rec, id, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, nat.has_one, with_bot.has_one, has_one.one, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial, has_sub.sub, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.degree, nat, with_bot, eq, nonzero_comm_ring, decidable_eq]), (polynomial.degree_add_div_by_monic, [not_lt, nat.linear_order, with_bot.linear_order, linear_order.to_partial_order, polynomial.div_by_monic_eq_zero_iff, polynomial.leading_coeff_eq_zero, ne.equations._eqn_1, one_mul, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, polynomial.monic.def, iff.mp, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, nat.le_add_right, with_bot.coe_le_coe, propext, with_bot.partial_order, with_bot.coe_add, polynomial.degree_eq_nat_degree, polynomial.nat_degree, with_bot.has_coe_t, coe_to_lift, coe, polynomial.degree_mod_by_monic_lt, lt_of_lt_of_le, polynomial.mod_by_monic_add_div, congr_arg, polynomial.degree_add_eq_of_degree_lt, polynomial.degree_mul_eq', eq.symm, polynomial.has_add, eq.trans, polynomial.has_mul, polynomial.mod_by_monic, preorder.to_has_lt, has_lt.lt, mul_zero_class.to_has_zero, polynomial.leading_coeff, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ne, not, eq.subst, polynomial.subsingleton_of_monic_zero, and.left, eq.refl, eq.rec, id, eq.mpr, polynomial.decidable_eq, polynomial.has_zero, has_zero.zero, dite, polynomial.div_by_monic, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, eq, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.degree_add_eq_of_degree_lt, [polynomial.ne_zero_of_degree_gt, polynomial.leading_coeff_eq_zero, polynomial.leading_coeff, iff.mp, polynomial.has_zero, mt, zero_add, add_monoid.to_has_zero, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, polynomial.apply_nat_degree_eq_zero_of_degree_lt, polynomial.add_apply, eq.refl, eq.rec, id, semiring.to_distrib, distrib.to_has_add, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, ne, eq.mpr, polynomial.degree_le_degree, polynomial.degree_add_le, max_eq_right_of_lt, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, max, preorder.to_has_le, has_le.le, eq.subst, le_antisymm, polynomial.has_add, has_add.add, eq, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_add_le, [with_bot.sup_eq_max, finset.sup_union, finsupp.support_add, finset.sup_mono, rfl, trans_rel_right, finset.has_union, finset, has_union.union, lattice.semilattice_sup_bot.to_order_bot, lattice.order_bot.to_partial_order, option.some, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, finset.sup, lattice.nat.semilattice_sup_bot, with_bot.semilattice_sup, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, semiring.to_semimodule, comm_semiring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, nat.decidable_eq, finsupp.has_add, trans_rel_left, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, max, polynomial.has_add, has_add.add, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_div_by_monic_lt, [polynomial.ne_zero_of_ne_zero_of_monic, eq.subst, nat.has_zero, nat.lt_add_of_pos_left, with_bot.coe_lt_coe, with_bot.partial_order, mt, not_lt, preorder.to_has_le, has_le.le, nat.linear_order, with_bot.linear_order, linear_order.to_partial_order, iff.mp, polynomial.degree_add_div_by_monic, eq.symm, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, not, with_bot.bot_lt_some, polynomial.degree_eq_nat_degree, polynomial.nat_degree, with_bot.has_coe_t, coe_to_lift, coe, polynomial.div_by_monic_eq_zero_iff, iff.mpr, eq.refl, eq.rec, eq, id, eq.mpr, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, has_lt.lt.decidable, dite, polynomial.div_by_monic, polynomial.degree, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.has_zero, has_zero.zero, ne, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.degree_eq_bot, [rfl, eq.subst, polynomial.degree.equations._eqn_1, finset.max_eq_sup_with_bot, eq.symm, eq.refl, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, eq.rec, option.some, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, eq.mp, finset.max_eq_none, option.none, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, finset.max, option, finsupp.support_eq_empty, finsupp.has_zero, finsupp, finset.has_emptyc, has_emptyc.emptyc, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, finset, iff.mp, iff.intro, polynomial.has_zero, has_zero.zero, with_bot.has_bot, lattice.has_bot.bot, polynomial.degree, nat, with_bot, eq, iff, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_eq_nat_degree, [polynomial.degree_eq_bot, with_bot.has_bot, lattice.has_bot.bot, option.eq_none_iff_forall_not_mem, iff.mpr, option.none, mt, classical.not_forall, nat.decidable_eq, option.decidable_eq, not_not, iff.mp, polynomial.nat_degree.equations._eqn_1, eq.refl, eq.rec, id, nat.has_zero, option.get_or_else, eq.mpr, option.some, id_rhs, Exists.dcases_on, option.has_mem, option, has_mem.mem, not, Exists, polynomial.nat_degree, with_bot.has_coe_t, coe_to_lift, coe, polynomial.degree, nat, with_bot, eq, polynomial.has_zero, has_zero.zero, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_erase_le, [finset.erase_subset, option.some, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup_mono, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, finsupp.erase, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, nat, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_erase_lt, [finset.erase, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, finset.mem_of_max, finsupp.support, finset.not_mem_erase, eq, polynomial.degree_eq_nat_degree, eq.symm, with_bot.has_coe_t, coe_to_lift, coe, eq.subst, polynomial.degree_erase_le, lt_of_le_of_ne, polynomial.nat_degree, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.decidable_eq, finsupp.erase, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.has_zero, has_zero.zero, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_le_degree, [polynomial.le_degree_of_ne_zero, polynomial.degree_eq_nat_degree, eq.rec, with_bot.has_coe_t, coe_to_lift, coe, not, trivial, lattice.bot_le, iff_true_intro, lattice.order_bot, lattice.order_bot.to_has_bot, with_bot.order_bot, lattice.order_bot.to_partial_order, propext, polynomial.degree_zero, eq.refl, eq.drec, congr_arg, congr, has_le, with_bot.has_bot, lattice.has_bot.bot, eq.trans, id, true, eq.mpr, polynomial.decidable_eq, polynomial.has_zero, eq, dite, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_le_nat_degree, [le_refl, polynomial.degree_eq_nat_degree, eq.rec, not, trivial, lattice.bot_le, iff_true_intro, lattice.order_bot, lattice.order_bot.to_has_bot, with_bot.order_bot, lattice.order_bot.to_partial_order, propext, with_top.coe_zero, polynomial.nat_degree_zero, has_lift_t, nat.has_zero, polynomial.degree_zero, eq.refl, eq.drec, congr_arg, congr, has_le, nat.decidable_eq, nat.canonically_ordered_comm_semiring, with_top.mul_zero_class, mul_zero_class.to_has_zero, with_top, with_bot.has_bot, lattice.has_bot.bot, eq.trans, id, true, eq.mpr, polynomial.decidable_eq, polynomial.has_zero, has_zero.zero, eq, dite, polynomial.nat_degree, with_bot.has_coe_t, coe_to_lift, coe, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_lt_wf, [nat.lt_wf, with_bot.well_founded_lt, inv_image.wf, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial, well_founded, comm_semiring, decidable_eq]), (polynomial.degree_mod_by_monic_lt, [polynomial.degree_eq_bot, with_bot.has_bot, lattice.has_bot.bot, mt, ne.symm, with_bot.order_bot, lattice.bot_le, lt_of_le_of_ne, not_not, nat.linear_order, with_bot.linear_order, lt_of_not_ge, if_neg, eq.trans, imp_congr_eq, not_and_distrib, or, iff.mp, or.cases_on, and.right, and.left, and.intro, polynomial.div_wf_lemma, eq.mp, if_pos, dif_pos, eq.rec, polynomial.div_mod_by_monic_aux.equations._eqn_1, congr_fun, funext, decidable, prod.fst, polynomial.has_add, has_add.add, prod.mk, prod, ite, polynomial.mod_by_monic.equations._eqn_1, eq.refl, eq.drec, comm_semiring, congr_arg, congr, has_lt, eq, id, not, polynomial.div_mod_by_monic_aux, prod.snd, polynomial.monic.decidable, eq.mpr, polynomial.nat_degree, nat.has_sub, polynomial.X, polynomial.comm_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, preorder.to_has_le, has_le.le, and, dite, id_rhs, has_well_founded.wf, polynomial.has_well_founded, has_well_founded.r, well_founded.fix, polynomial.mod_by_monic, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.has_zero, has_zero.zero, ne, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.degree_monomial, [finsupp.support_single_ne_zero, finset.has_insert, finset.has_emptyc, finset, singleton, polynomial.degree.equations._eqn_1, option.some, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, polynomial.single_eq_C_mul_X, eq.symm, eq.refl, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, finsupp.to_comm_semiring, nat.has_add, finsupp.has_mul, finsupp, eq.rec, id, nat.decidable_eq, finsupp.single, eq.mpr, with_bot.has_coe_t, coe_to_lift, coe, polynomial.X, polynomial.comm_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.C, polynomial.has_mul, polynomial, has_mul.mul, polynomial.degree, with_bot, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ne, nat, comm_semiring, decidable_eq]), (polynomial.degree_monomial_le, [polynomial.degree_monomial, le_of_eq, not, trivial, lattice.bot_le, iff_true_intro, lattice.order_bot, lattice.order_bot.to_has_bot, with_bot.order_bot, lattice.order_bot.to_partial_order, propext, polynomial.degree_zero, zero_mul, polynomial.C_0, has_mul, polynomial.has_zero, eq.refl, eq.drec, congr_arg, congr, has_le, with_bot.has_bot, lattice.has_bot.bot, eq.trans, id, true, eq.mpr, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq, dite, with_bot.has_coe_t, coe_to_lift, coe, polynomial.X, polynomial.comm_semiring, comm_semiring.to_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.C, polynomial.has_mul, polynomial, has_mul.mul, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, nat, comm_semiring, decidable_eq]), (polynomial.degree_mul_eq', [zero_mul, trivial, forall_true_iff, eq_self_iff_true, propext, mul_zero, polynomial.leading_coeff_zero, eq.drec, has_mul, congr_arg, congr, imp_congr_ctx_eq, eq.trans, true, mt, polynomial.mul_apply_degree_add_degree, nat.has_add, polynomial.has_coe_to_fun, coe_fn, polynomial.le_degree_of_ne_zero, polynomial.degree_eq_nat_degree, eq.refl, eq.rec, id, polynomial.nat_degree, with_bot.has_coe_t, coe_to_lift, coe, partial_order.to_preorder, preorder.to_has_le, has_le.le, eq.mpr, polynomial.degree_mul_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, le_antisymm, polynomial.has_zero, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, polynomial.has_mul, polynomial.degree, nat, with_bot, eq, mul_zero_class.to_has_zero, has_zero.zero, polynomial.leading_coeff, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_mul_le, [finsupp.mem_support_iff, propext, has_zero.zero, ne, eq.mp, polynomial.le_degree_of_ne_zero, add_le_add', with_bot.coe_add, eq.rec, polynomial.degree_monomial_le, with_bot.has_coe_t, coe_to_lift, coe, finset.sup_le, finset.has_mem, has_mem.mem, finset.sup_mono_fun, finsupp.has_coe_to_fun, finsupp.add_comm_monoid, polynomial.degree_sum_le, polynomial.single_eq_C_mul_X, eq.symm, nat.semiring, finsupp.to_comm_semiring, finsupp.has_mul, finsupp, add_comm_monoid, eq.drec, funext, finset, lattice.semilattice_sup_bot, eq.refl, congr_arg, congr, has_le, eq, id, nat.decidable_eq, finsupp.single, eq.mpr, semiring.to_semimodule, semimodule.to_add_comm_monoid, finsupp.sum, nat.has_add, polynomial.X, polynomial.comm_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.has_coe_to_fun, coe_fn, mul_zero_class.to_has_mul, polynomial.C, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, le_trans, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, polynomial.has_mul, has_mul.mul, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial, comm_semiring, decidable_eq]), (polynomial.degree_neg, [finsupp.support_neg, eq.refl, nat.decidable_eq, finsupp.add_group, finsupp, finset, eq.rec, ring.to_module, add_group.to_add_monoid, add_monoid.to_has_zero, polynomial.degree.equations._eqn_1, congr_arg, congr, id, option.some, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, eq.mpr, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, polynomial.degree, nat, with_bot, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.degree_one, [zero_ne_one, ne.symm, zero_ne_one_class.to_has_zero, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_one, ne, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, polynomial.degree_C, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, has_zero.zero, polynomial.has_one, polynomial, has_one.one, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.degree, nat, with_bot, eq, nonzero_comm_ring, decidable_eq]), (polynomial.degree_pos_of_root, [nat.succ_pos, with_bot.coe_lt_coe, with_bot.partial_order, iff.mpr, with_bot.has_coe_t, coe_to_lift, coe, lt_of_le_of_lt, nat.succ, polynomial.eq_zero_of_degree_lt, polynomial.is_root.equations._eqn_1, polynomial.eq_C_of_degree_le_zero, polynomial.eval_C, eq.refl, eq.rec, nat.has_zero, polynomial.C, polynomial.eval, eq.mp, nat.cases_on, integral_domain.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, polynomial.has_coe_to_fun, coe_fn, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.ext, linear_order.to_partial_order, preorder.to_has_le, ge, nat.linear_order, with_bot.linear_order, lt_of_not_ge, polynomial.degree, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.is_root, polynomial.has_zero, has_zero.zero, ne, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.degree_sub_lt, [finsupp.single_add_erase, polynomial.nat_degree.equations._eqn_1, nat.has_zero, option.get_or_else, iff.mp, not, polynomial.degree_eq_bot, with_bot.has_bot, lattice.has_bot.bot, mt, polynomial.degree_erase_lt, and.intro, max_lt_iff, and, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, iff.mpr, polynomial.degree_add_le, polynomial.degree_neg, eq.subst, sub_eq_add_neg, add_sub_add_left_eq_sub, eq.symm, eq.refl, eq.rec, eq.trans, congr_arg, congr, id, add_monoid.to_add_semigroup, add_semigroup.to_has_add, eq.mpr, preorder.to_has_le, has_le.le, add_group.to_has_neg, has_neg.neg, polynomial.has_add, trans_rel_right, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, max, lt_of_le_of_lt, finsupp.erase, polynomial.nat_degree, finsupp.single, ring.to_module, add_group.to_add_monoid, nat.decidable_eq, finsupp.has_add, has_add.add, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, polynomial.leading_coeff, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat, with_bot, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.degree_sum_le, [le_refl, max_le_max, with_bot.sup_eq_max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, finset.sup_insert, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, polynomial.degree_add_le, finset.sum_insert, eq.rec, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, max, finset.has_insert, insert, le_trans, finset.has_mem, has_mem.mem, not, trivial, eq_self_iff_true, lattice.le_bot_iff, lattice.order_bot.to_partial_order, propext, finset.sup_empty, polynomial.degree_zero, finset.sum_empty, eq.refl, eq.drec, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, congr_arg, congr, has_le, with_bot.order_bot, lattice.order_bot.to_has_bot, with_bot.has_bot, lattice.has_bot.bot, eq.trans, eq, id, true, finset.has_emptyc, has_emptyc.emptyc, eq.mpr, finset.induction_on, function.comp, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, semiring.to_semimodule, polynomial.comm_semiring, comm_semiring.to_semiring, semimodule.to_add_comm_monoid, finset.sum, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial, finset, comm_semiring, decidable_eq]), (polynomial.degree_zero, [rfl, with_bot.has_bot, lattice.has_bot.bot, polynomial.has_zero, polynomial, has_zero.zero, polynomial.degree, nat, with_bot, eq, comm_semiring, decidable_eq]), (polynomial.div_by_monic, [polynomial.has_zero, has_zero.zero, not, polynomial.div_mod_by_monic_aux, prod.fst, polynomial.monic.decidable, polynomial.monic, dite, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_by_monic.equations._eqn_1, [eq.refl, polynomial.has_zero, has_zero.zero, not, polynomial.div_mod_by_monic_aux, prod.fst, polynomial.monic.decidable, polynomial.monic, dite, polynomial.div_by_monic, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_by_monic_eq_zero_iff, [not_le_of_gt, trivial, eq_self_iff_true, dif_pos, if_false, sub_eq_add_neg, has_add, if_simp_congr, add_group.to_has_neg, has_neg.neg, false_and, ne.def, iff.refl, iff_false_intro, and_congr, iff.trans, decidable_of_decidable_of_iff, false, true.intro, iff_true_intro, iff.mpr, true, polynomial.div_mod_by_monic_aux.equations._eqn_1, congr_fun, funext, eq.drec, decidable, polynomial.div_by_monic.equations._eqn_1, eq.trans, congr_arg, congr, id, prod.snd, prod.mk, add_group_has_sub, polynomial.div_mod_by_monic_aux, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, prod, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, and, ite, prod.fst, polynomial.monic.decidable, dite, eq.mpr, preorder.to_has_le, has_le.le, not, polynomial.mod_by_monic_add_div, mul_zero, mul_zero_class.to_has_mul, polynomial.has_mul, has_mul.mul, add_zero, add_monoid.to_has_zero, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, polynomial.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.has_add, has_add.add, polynomial.mod_by_monic_eq_self_iff, propext, eq.refl, eq.rec, polynomial.mod_by_monic, eq.mp, iff.intro, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.div_by_monic, eq, iff, polynomial.has_zero, has_zero.zero, ne, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux, [polynomial.div_mod_by_monic_aux._main, prod, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux._main, [polynomial.div_mod_by_monic_aux._main._pack, prod, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux._main._pack, [not, polynomial.div_wf_lemma, prod.snd, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, preorder.to_has_lt, has_lt.lt, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, dite, id_rhs, has_well_founded.wf, polynomial.has_well_founded, has_well_founded.r, well_founded.fix, prod, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux._main._pack.equations._eqn_1, [not, polynomial.div_wf_lemma, preorder.to_has_lt, has_lt.lt, dite, id_rhs, has_well_founded.wf, polynomial.has_well_founded, has_well_founded.r, well_founded.fix_eq, prod.snd, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, ite, polynomial.div_mod_by_monic_aux._main._pack, prod, polynomial.monic, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux._main.equations._eqn_1, [polynomial.div_mod_by_monic_aux._main._pack.equations._eqn_1, prod.snd, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, ite, polynomial.div_mod_by_monic_aux._main, prod, polynomial.monic, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_mod_by_monic_aux.equations._eqn_1, [polynomial.div_mod_by_monic_aux._main.equations._eqn_1, prod.snd, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, ite, polynomial.div_mod_by_monic_aux, prod, polynomial.monic, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.div_wf_lemma, [polynomial.leading_coeff_eq_zero, polynomial.ne_zero_of_ne_zero_of_monic, and.left, with_bot.coe_le_coe, with_bot.partial_order, mul_one, monoid.to_semigroup, semigroup.to_has_mul, polynomial.monic.def, monoid.to_has_one, has_one.one, polynomial.leading_coeff_monomial, polynomial.leading_coeff_mul', nat.sub_add_cancel, nat.has_add, with_bot.coe_add, polynomial.degree_eq_nat_degree, polynomial.degree_monomial, polynomial.comm_semiring, comm_semiring.to_semiring, semiring.to_monoid, with_bot.has_coe_t, coe_to_lift, coe, polynomial.degree_mul_eq', eq.refl, eq.rec, id, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, polynomial.degree_sub_lt, nat.has_le, not, and.right, polynomial.degree_eq_bot, with_bot.has_bot, lattice.le_bot_iff, lattice.order_bot.to_partial_order, iff.mp, with_bot.order_bot, lattice.order_bot.to_has_bot, lattice.has_bot.bot, linear_order.to_partial_order, ge, mt, nat.linear_order, with_bot.linear_order, lt_of_not_ge, eq.symm, eq.subst, polynomial.decidable_eq, eq, dite, mul_zero_class.to_has_mul, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.nat_degree, nat.has_sub, polynomial.X, polynomial.comm_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, preorder.to_has_lt, has_lt.lt, polynomial.monic, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.eq_C_of_degree_le_zero, [nat.succ_pos, with_bot.some_lt_some, option.some, with_bot.partial_order, preorder.to_has_lt, has_lt.lt, iff.mpr, with_bot.has_coe_t, coe_to_lift, coe, lt_of_le_of_lt, polynomial.eq_zero_of_degree_lt, nat.succ_ne_zero, ne.symm, if_neg, polynomial.C_apply, eq.rec, id, nat.decidable_eq, ite, nat.succ, eq.mpr, nat.zero, eq.refl, finsupp.has_coe_to_fun, finsupp, nat.cases_on, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp.ext, nat.has_zero, polynomial.has_coe_to_fun, coe_fn, polynomial.C, eq, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, has_zero.zero, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, polynomial, comm_semiring, decidable_eq]), (polynomial.eq_zero_of_degree_lt, [not_le_of_gt, polynomial.le_degree_of_ne_zero, preorder.to_has_le, has_le.le, mt, not_not, not, iff.mp, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.has_coe_to_fun, coe_fn, eq, with_bot.has_coe_t, coe_to_lift, coe, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, with_bot, has_lt.lt, polynomial, comm_semiring, decidable_eq, nat]), (polynomial.eval, [polynomial.eval._proof_1, id, polynomial.eval₂, polynomial, comm_semiring, decidable_eq]), (polynomial.eval._proof_1, [is_semiring_hom.id, id, comm_semiring.to_semiring, is_semiring_hom, comm_semiring]), (polynomial.eval.is_ring_hom, [is_ring_hom.id, id, polynomial.eval₂.is_ring_hom, polynomial.eval, polynomial.comm_ring, comm_ring.to_ring, comm_ring.to_comm_semiring, polynomial, is_ring_hom, comm_ring, decidable_eq]), (polynomial.eval_C, [polynomial.eval._proof_1, id, polynomial.eval₂_C, polynomial.C, polynomial.eval, eq, comm_semiring, decidable_eq]), (polynomial.eval_X, [polynomial.eval._proof_1, id, polynomial.eval₂_X, polynomial.X, polynomial.eval, eq, comm_semiring, decidable_eq]), (polynomial.eval_mul, [polynomial.eval._proof_1, id, polynomial.eval₂_mul, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, polynomial.has_mul, has_mul.mul, polynomial.eval, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.eval_pow, [polynomial.eval._proof_1, id, polynomial.eval₂_pow, polynomial.comm_semiring, comm_semiring.to_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.eval, eq, nat, polynomial, comm_semiring, decidable_eq]), (polynomial.eval_sub, [polynomial.eval.is_ring_hom, polynomial.comm_ring, is_ring_hom.map_sub, ring.to_module, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.eval, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.eval_zero, [polynomial.eval._proof_1, id, polynomial.eval₂_zero, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.has_zero, polynomial, has_zero.zero, polynomial.eval, eq, comm_semiring, decidable_eq]), (polynomial.eval₂, [semiring.to_monoid, monoid.has_pow, has_pow.pow, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_semimodule, semimodule.to_add_comm_monoid, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp.sum, polynomial, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂.equations._eqn_1, [eq.refl, semiring.to_monoid, monoid.has_pow, has_pow.pow, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_semimodule, semimodule.to_add_comm_monoid, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp.sum, polynomial.eval₂, eq, polynomial, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂.is_ring_hom, [polynomial.eval₂.is_semiring_hom, is_ring_hom.of_semiring, is_ring_hom.is_semiring_hom, polynomial.eval₂, polynomial.comm_ring, comm_ring.to_comm_semiring, polynomial, comm_ring.to_ring, is_ring_hom, comm_ring, decidable_eq]), (polynomial.eval₂.is_semiring_hom, [polynomial.eval₂_mul, polynomial.eval₂_add, polynomial.eval₂_one, polynomial.eval₂_zero, is_semiring_hom.mk, polynomial.eval₂, polynomial.comm_semiring, polynomial, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂_C, [trivial, mul_one, true.intro, eq_self_iff_true, propext, zero_mul, pow_zero, is_semiring_hom.map_zero, has_mul, iff.refl, iff, add_monoid.to_has_zero, iff.mpr, add_comm_monoid.to_add_monoid, finsupp.sum_single_index, polynomial.eval₂.equations._eqn_1, polynomial.C.equations._eqn_1, eq.drec, polynomial, eq.refl, eq.rec, nat.decidable_eq, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, mul_zero_class.to_has_zero, finsupp.sum, nat.has_zero, has_zero.zero, monoid.has_pow, has_pow.pow, nat, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, congr_arg, congr, eq.trans, id, true, eq.mpr, polynomial.C, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂_X, [trivial, one_mul, is_semiring_hom.map_one, true.intro, eq_self_iff_true, propext, zero_mul, pow_one, is_semiring_hom.map_zero, has_mul, iff.refl, iff, add_monoid.to_has_zero, has_zero.zero, iff.mpr, add_comm_monoid.to_add_monoid, finsupp.sum_single_index, polynomial.eval₂.equations._eqn_1, polynomial.X.equations._eqn_1, eq.drec, polynomial, eq.refl, eq.rec, nat.decidable_eq, finsupp.single, semiring.to_semimodule, semimodule.to_add_comm_monoid, mul_zero_class.to_has_zero, finsupp.sum, nat.has_one, monoid.has_pow, has_pow.pow, nat, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, congr_arg, congr, eq.trans, id, true, eq.mpr, polynomial.X, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂_add, [forall_2_true_iff, add_mul, is_semiring_hom.map_add, distrib.to_has_mul, add_monoid.to_add_semigroup, add_semigroup.to_has_add, trivial, nat.inhabited, forall_const, eq_self_iff_true, propext, zero_mul, eq.refl, is_semiring_hom.map_zero, has_mul, congr_arg, congr, mul_zero_class.to_has_zero, forall_congr_eq, eq.trans, id, true, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, eq.mpr, semiring.to_monoid, monoid.has_pow, has_pow.pow, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_semimodule, semimodule.to_add_comm_monoid, nat.decidable_eq, nat, finsupp.sum_add_index, semiring.to_distrib, distrib.to_has_add, polynomial.has_add, has_add.add, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, polynomial, comm_semiring, decidable_eq]), (polynomial.eval₂_mul, [comm_semigroup_to_is_commutative, is_commutative.comm, left_comm, semigroup_to_is_associative, is_associative.assoc, comm_semiring.to_comm_monoid, comm_monoid.to_comm_semigroup, comm_semigroup.to_semigroup, monoid.to_semigroup, semigroup.to_has_mul, eq.symm, finset.has_mem, has_mem.mem, finset, rfl, finsupp.support, finset.sum_congr, finsupp.mul_sum, is_semiring_hom.map_mul, pow_add, finsupp.sum_single_index, funext, add_comm_monoid, forall_2_true_iff, add_mul, is_semiring_hom.map_add, distrib.to_has_mul, semiring.to_distrib, distrib.to_has_add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, true.intro, nat.inhabited, forall_const, eq_self_iff_true, propext, zero_mul, is_semiring_hom.map_zero, has_mul, iff.refl, iff, forall_congr, iff.trans, true, has_zero.zero, iff.mpr, finsupp.sum_sum_index, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, eq.trans, congr_arg, congr, finsupp.sum_mul, finsupp.has_coe_to_fun, coe_fn, finsupp.mul_def, eq.refl, finsupp.has_mul, eq.rec, nat.has_add, has_add.add, finsupp.single, nat.decidable_eq, finsupp.add_comm_monoid, finsupp, semiring.to_monoid, monoid.has_pow, has_pow.pow, semiring.to_semimodule, semimodule.to_add_comm_monoid, mul_zero_class.to_has_zero, nat, finsupp.sum, eq.mpr, id, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, polynomial.has_mul, has_mul.mul, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, polynomial, comm_semiring, decidable_eq]), (polynomial.eval₂_one, [is_semiring_hom.map_one, polynomial.eval₂_C, polynomial.C_1, eq.symm, eq.refl, eq.rec, id, polynomial.C, eq.mpr, semiring.to_monoid, monoid.to_has_one, polynomial.has_one, polynomial, has_one.one, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.eval₂_pow, [polynomial.eval₂.is_semiring_hom, is_semiring_hom.map_pow, polynomial.comm_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.eval₂, eq, nat, comm_semiring.to_semiring, is_semiring_hom, polynomial, comm_semiring, decidable_eq]), (polynomial.eval₂_zero, [semiring.to_monoid, monoid.has_pow, has_pow.pow, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_semimodule, semimodule.to_add_comm_monoid, nat, finsupp.sum_zero_index, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.has_zero, polynomial, has_zero.zero, polynomial.eval₂, eq, comm_semiring.to_semiring, is_semiring_hom, comm_semiring, decidable_eq]), (polynomial.exists_finset_roots, [eq_false_intro, false_of_true_eq_false, decidable, classical.by_contradiction, forall_true_iff, iff_self, not_exists, funext, polynomial.is_root.def, comm_semiring.to_semiring, polynomial.eval, finset.not_mem_empty, iff_false_intro, forall_congr_eq, nat.zero_le, finset.has_emptyc, has_emptyc.emptyc, with_bot.coe_lt_coe, polynomial.degree_eq_nat_degree, polynomial.nat_degree, not_lt, nat.linear_order, with_bot.linear_order, linear_order.to_partial_order, polynomial.ne_zero_of_monic, polynomial.div_by_monic_eq_zero_iff, iff.mp, mt, polynomial.root_or_root_of_root_mul, polynomial.root_mul_left_of_is_root, polynomial.root_mul_right_of_is_root, or.cases_on, iff.intro, polynomial.root_X_sub_C, eq_comm, finset.mem_insert, or, le_refl, add_le_add', add_comm, nat.add_comm_semigroup, with_bot.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, polynomial.degree_add_div_by_monic, eq.rec, eq.mpr, finset.card_insert_le, with_bot.coe_le_coe, with_bot.partial_order, nat.add_semigroup, with_bot.add_semigroup, le_trans, and.intro, finset.has_insert, insert, Exists.intro, and.dcases_on, trivial, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, has_lt.lt.decidable, of_as_true, polynomial.degree_X_sub_C, eq.symm, nat.has_one, with_bot.has_one, has_one.one, eq.subst, polynomial.monic_X_sub_C, polynomial.degree_div_by_monic_lt, not_true, eq_self_iff_true, propext, polynomial.mul_div_by_monic_eq_iff_is_root, iff.mpr, mul_zero, eq.drec, comm_ring, sub_eq_add_neg, has_mul, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, polynomial.has_mul, has_mul.mul, polynomial.integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, id, eq.refl, congr, congr_arg, true, ne.def, not, eq.trans, eq.mp, false, false.rec, eq, polynomial.degree_pos_of_root, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, preorder.to_has_lt, has_lt.lt, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.div_by_monic, Exists.dcases_on, classical.prop_decidable, dite, id_rhs, has_well_founded.wf, polynomial.has_well_founded, has_well_founded.r, well_founded.fix, polynomial.is_root, finset.has_mem, has_mem.mem, iff, polynomial.degree, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, finset, Exists, polynomial.has_zero, has_zero.zero, ne, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.has_add, [semiring.to_semimodule, comm_semiring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, nat.decidable_eq, nat, finsupp.has_add, polynomial, has_add, comm_semiring, decidable_eq]), (polynomial.has_coe_to_fun, [comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp.has_coe_to_fun, polynomial, has_coe_to_fun, comm_semiring, decidable_eq]), (polynomial.has_mul, [comm_semiring.to_semiring, nat.has_add, nat.decidable_eq, nat, finsupp.has_mul, polynomial, has_mul, comm_semiring, decidable_eq]), (polynomial.has_one, [semiring.to_monoid, monoid.to_has_one, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.has_zero, nat.decidable_eq, nat, finsupp.has_one, polynomial, has_one, comm_semiring, decidable_eq]), (polynomial.has_well_founded, [polynomial.has_well_founded._proof_1, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, has_well_founded.mk, comm_ring.to_comm_semiring, polynomial, has_well_founded, comm_ring, decidable_eq]), (polynomial.has_well_founded._proof_1, [polynomial.degree_lt_wf, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, comm_ring.to_comm_semiring, polynomial, well_founded, comm_ring, decidable_eq]), (polynomial.has_zero, [comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat, finsupp.has_zero, polynomial, has_zero, comm_semiring, decidable_eq]), (polynomial.integral_domain, [polynomial.integral_domain._proof_13, polynomial.integral_domain._proof_12, polynomial.integral_domain._proof_11, polynomial.integral_domain._proof_10, polynomial.integral_domain._proof_9, polynomial.integral_domain._proof_8, polynomial.integral_domain._proof_7, nonzero_comm_ring.one, polynomial.integral_domain._proof_6, nonzero_comm_ring.mul, polynomial.integral_domain._proof_5, polynomial.integral_domain._proof_4, nonzero_comm_ring.neg, polynomial.integral_domain._proof_3, polynomial.integral_domain._proof_2, nonzero_comm_ring.zero, polynomial.integral_domain._proof_1, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, integral_domain.mk, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_1, [nonzero_comm_ring.add_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, has_add.mk, has_add.add, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_10, [nonzero_comm_ring.right_distrib, nonzero_comm_ring.add, has_add.mk, has_add.add, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_11, [nonzero_comm_ring.mul_comm, nonzero_comm_ring.mul_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_12, [polynomial.leading_coeff_mul, eq.subst, polynomial.leading_coeff_zero, eq_comm, no_zero_divisors.to_has_mul, eq.mp, integral_domain.to_domain, domain.to_no_zero_divisors, eq_zero_or_eq_zero_of_mul_eq_zero, polynomial.leading_coeff_eq_zero, propext, eq.symm, eq.refl, polynomial.has_zero, eq.rec, id, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.leading_coeff, eq.mpr, or, nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_13, [nonzero_comm_ring.zero_ne_one, nonzero_comm_ring.one, has_one.mk, has_one.one, polynomial.nonzero_comm_ring, nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, ne, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_2, [nonzero_comm_ring.zero_add, nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, nonzero_comm_ring.add_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_3, [nonzero_comm_ring.add_zero, nonzero_comm_ring.zero, has_zero.mk, has_zero.zero, nonzero_comm_ring.add_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_4, [nonzero_comm_ring.add_left_neg, add_monoid.to_has_zero, has_zero.zero, nonzero_comm_ring.neg, has_neg.mk, has_neg.neg, nonzero_comm_ring.add_zero, nonzero_comm_ring.zero_add, nonzero_comm_ring.zero, nonzero_comm_ring.add_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_5, [nonzero_comm_ring.add_comm, nonzero_comm_ring.add_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_6, [nonzero_comm_ring.mul_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_7, [nonzero_comm_ring.one_mul, nonzero_comm_ring.one, has_one.mk, has_one.one, nonzero_comm_ring.mul_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_8, [nonzero_comm_ring.mul_one, nonzero_comm_ring.one, has_one.mk, has_one.one, nonzero_comm_ring.mul_assoc, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.integral_domain._proof_9, [nonzero_comm_ring.left_distrib, nonzero_comm_ring.add, has_add.mk, has_add.add, polynomial.nonzero_comm_ring, nonzero_comm_ring.mul, has_mul.mk, has_mul.mul, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.is_root, [comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.is_root.def, [iff.rfl, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq, polynomial.is_root, iff, polynomial, comm_semiring, decidable_eq]), (polynomial.is_root.equations._eqn_1, [eq.refl, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, polynomial.is_root, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.le_degree_of_ne_zero, [finsupp.mem_support_iff, finsupp.has_coe_to_fun, finsupp, finset.has_mem, finset, has_mem.mem, iff.mpr, finset.le_sup, finsupp.support, lattice.nat.semilattice_sup_bot, lattice.semilattice_sup_bot.to_semilattice_sup, with_bot.semilattice_sup, finset.sup, option.some, polynomial.degree, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.has_coe_to_fun, coe_fn, ne, polynomial, comm_semiring, decidable_eq, nat]), (polynomial.le_nat_degree_of_ne_zero, [polynomial.le_degree_of_ne_zero, rfl, false, polynomial.has_zero, polynomial.degree_eq_nat_degree, polynomial.degree, with_bot.coe_le_coe, propext, eq.symm, eq.refl, eq.rec, eq, id, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, eq.mpr, polynomial.nat_degree, nat.has_le, has_le.le, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.has_coe_to_fun, coe_fn, ne, polynomial, comm_semiring, decidable_eq, nat]), (polynomial.leading_coeff, [polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, polynomial, comm_semiring, decidable_eq]), (polynomial.leading_coeff.equations._eqn_1, [eq.refl, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, polynomial.leading_coeff, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.leading_coeff_X, [polynomial.leading_coeff_monomial, one_mul, pow_one, polynomial.C_1, has_mul, polynomial.has_one, eq.trans, eq.refl, eq.drec, congr_arg, congr, eq.mp, nat.has_one, polynomial.comm_semiring, monoid.has_pow, nat, has_pow.pow, polynomial.C, polynomial.has_mul, polynomial, has_mul.mul, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.X, polynomial.leading_coeff, eq, comm_semiring, decidable_eq]), (polynomial.leading_coeff_X_pow, [pprod, punit, nat.rec, nat.add, pprod.fst, polynomial.leading_coeff_X, polynomial.leading_coeff_mul', polynomial.has_mul, mul_zero_class.to_has_mul, ne, not, polynomial.leading_coeff_zero, has_pow, zero_mul, polynomial.C_0, polynomial.has_zero, has_mul, polynomial.C_1, polynomial.has_one, polynomial.C, one_mul, eq.symm, pow_succ, eq.rec, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, dite, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, polynomial.leading_coeff_one, pow_zero, eq.refl, eq.drec, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, monoid.to_has_one, has_one.one, polynomial.X, polynomial.comm_semiring, comm_semiring.to_semiring, semiring.to_monoid, monoid.has_pow, polynomial, has_pow.pow, polynomial.leading_coeff, eq, nat, comm_semiring, decidable_eq]), (polynomial.leading_coeff_add_of_degree_lt, [polynomial.apply_nat_degree_eq_zero_of_degree_lt, trivial, eq_self_iff_true, propext, semiring.to_semimodule, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, zero_add, eq.refl, has_add, polynomial.add_apply, polynomial.degree_add_eq_of_degree_lt, polynomial.nat_degree_eq_of_degree_eq, polynomial.leading_coeff.equations._eqn_1, semiring.to_distrib, distrib.to_has_add, congr_arg, congr, eq.trans, id, true, eq.mpr, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, polynomial.has_add, has_add.add, polynomial.leading_coeff, eq, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial, comm_semiring, decidable_eq]), (polynomial.leading_coeff_eq_zero, [trivial, forall_true_iff, eq_self_iff_true, propext, polynomial.leading_coeff_zero, eq.drec, congr_arg, congr, eq.refl, imp_congr_ctx_eq, eq.trans, id, true, eq.mpr, polynomial.degree_eq_nat_degree, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, finset.mem_of_max, not_not, iff.mpr, finsupp.mem_support_iff, iff.mp, finsupp.has_coe_to_fun, finsupp, coe_fn, ne, finsupp.support, polynomial.nat_degree, finset.has_mem, finset, nat, has_mem.mem, mt, not, polynomial.decidable_eq, by_contradiction, iff.intro, polynomial.has_zero, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.leading_coeff, eq, iff, polynomial, comm_semiring, decidable_eq]), (polynomial.leading_coeff_monomial, [finsupp.single_eq_same, polynomial.single_eq_C_mul_X, eq.symm, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, finsupp.to_comm_semiring, nat.has_add, finsupp.has_mul, finsupp, nat.decidable_eq, finsupp.single, polynomial.degree_monomial, with_bot.has_coe_t, coe_to_lift, with_bot, coe, polynomial.nat_degree.equations._eqn_1, nat.has_zero, polynomial.degree, option.get_or_else, polynomial.leading_coeff.equations._eqn_1, eq.rec, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, not, trivial, eq_self_iff_true, propext, polynomial.leading_coeff_zero, zero_mul, polynomial.C_0, has_mul, polynomial.has_zero, eq.refl, eq.drec, congr_arg, congr, eq.trans, id, true, eq.mpr, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, dite, polynomial.X, polynomial.comm_semiring, comm_semiring.to_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.C, polynomial.has_mul, polynomial, has_mul.mul, polynomial.leading_coeff, eq, nat, comm_semiring, decidable_eq]), (polynomial.leading_coeff_mul', [polynomial.mul_apply_degree_add_degree, polynomial.nat_degree_mul_eq', eq.refl, eq.rec, nat.has_add, nat, has_add.add, has_mul, polynomial.leading_coeff.equations._eqn_1, congr_arg, congr, id, polynomial.nat_degree, polynomial.has_coe_to_fun, coe_fn, eq.mpr, polynomial.has_mul, eq, mul_zero_class.to_has_zero, has_zero.zero, polynomial.leading_coeff, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.leading_coeff_mul, [polynomial.leading_coeff_eq_zero, iff.mp, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, mt, mul_ne_zero, polynomial.leading_coeff_mul', eq.rec, mul_zero_class.to_has_mul, mul_zero, not, trivial, eq_self_iff_true, propext, polynomial.leading_coeff_zero, zero_mul, has_mul, eq.refl, eq.drec, comm_semiring, polynomial.comm_ring, comm_ring.to_ring, congr_arg, congr, domain.to_ring, ring.to_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq.trans, id, true, eq.mpr, polynomial.decidable_eq, polynomial.has_zero, has_zero.zero, dite, integral_domain.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, polynomial.has_mul, has_mul.mul, polynomial.leading_coeff, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.leading_coeff_one, [polynomial.leading_coeff_monomial, mul_one, pow_zero, polynomial.C_1, has_mul, eq.trans, eq.refl, eq.drec, congr_arg, congr, eq.mp, nat.has_zero, has_zero.zero, polynomial.X, polynomial.comm_semiring, monoid.has_pow, nat, has_pow.pow, polynomial.C, polynomial.has_mul, has_mul.mul, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, polynomial.has_one, polynomial, has_one.one, polynomial.leading_coeff, eq, comm_semiring, decidable_eq]), (polynomial.leading_coeff_zero, [rfl, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.has_zero, polynomial, has_zero.zero, polynomial.leading_coeff, eq, comm_semiring, decidable_eq]), (polynomial.mem_nth_roots, [iff.refl, sub_eq_zero_iff_eq, add_group.to_add_monoid, add_monoid.to_has_zero, polynomial.eval_X, polynomial.eval_pow, polynomial.comm_semiring, semiring.to_monoid, polynomial.eval_C, polynomial.eval_sub, ring.to_module, polynomial.is_root.def, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.eval, polynomial.X_pow_sub_C_ne_zero, polynomial.mem_roots, propext, polynomial.comm_ring, polynomial.is_root, polynomial.nth_roots.equations._eqn_1, eq.refl, eq.rec, id, polynomial.C, polynomial.X, polynomial.integral_domain, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, has_sub.sub, polynomial.roots, eq.mpr, classical.prop_decidable, decidable, integral_domain.to_domain, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, eq, polynomial.nth_roots, finset.has_mem, finset, has_mem.mem, iff, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, integral_domain]), (polynomial.mem_roots, [classical.some_spec, polynomial.exists_finset_roots, and.right, dif_neg, eq.rec, polynomial.roots.equations._eqn_1, eq.refl, has_mem, congr_arg, congr, id, polynomial.roots._proof_1, polynomial.degree, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, classical.some, not, finset.has_emptyc, has_emptyc.emptyc, polynomial.decidable_eq, eq, dite, eq.mpr, polynomial.is_root, polynomial.roots, finset.has_mem, finset, has_mem.mem, iff, polynomial.has_zero, has_zero.zero, ne, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.mod_by_monic, [not, polynomial.div_mod_by_monic_aux, prod.snd, polynomial.monic.decidable, polynomial.monic, dite, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.mod_by_monic.equations._eqn_1, [eq.refl, not, polynomial.div_mod_by_monic_aux, prod.snd, polynomial.monic.decidable, polynomial.monic, dite, polynomial.mod_by_monic, eq, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.mod_by_monic_X_sub_C_eq_C_eval, [sub_zero, zero_mul, ring.to_semiring, mul_zero_class.to_has_zero, sub_self, add_group.to_add_monoid, polynomial.eval_X, polynomial.eval_mul, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, polynomial.eval_sub, ring.to_module, polynomial.mod_by_monic_eq_sub_mul_div, polynomial.div_by_monic, polynomial.has_mul, has_mul.mul, polynomial.ne_zero_of_monic, eq.symm, polynomial.has_zero, ne, polynomial.monic_X_sub_C, polynomial.degree_mod_by_monic_lt, polynomial.degree_X_sub_C, eq.subst, with_bot.some_lt_some, nat.succ, iff.mp, nat.le_of_lt_succ, with_bot.some_le_some, with_bot.partial_order, iff.mpr, option.some, with_bot.order_bot, lattice.bot_le, option.none, option.cases_on, polynomial.eval_C, eq.mp, polynomial.eq_C_of_degree_le_zero, eq.refl, eq.rec, id, nat.has_zero, polynomial.has_coe_to_fun, coe_fn, eq.mpr, nat.add_monoid, with_bot.add_monoid, add_monoid.to_has_zero, has_zero.zero, preorder.to_has_le, has_le.le, nat.has_one, with_bot.has_one, has_one.one, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.eval, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.mod_by_monic, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.mod_by_monic_add_div, [polynomial.mod_by_monic_eq_sub_mul_div, eq_sub_iff_add_eq, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, iff.mp, polynomial.div_by_monic, polynomial.has_mul, has_mul.mul, polynomial.mod_by_monic, polynomial.has_add, has_add.add, eq, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.mod_by_monic_eq_self_iff, [not_le_of_gt, trivial, eq_self_iff_true, propext, dif_pos, if_false, sub_eq_add_neg, has_add, if_simp_congr, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, false_and, ne.def, iff.refl, eq.rec, iff_false_intro, and_congr, iff.trans, decidable_of_decidable_of_iff, false, true.intro, iff_true_intro, iff.mpr, true, polynomial.div_mod_by_monic_aux.equations._eqn_1, congr_fun, funext, eq.refl, eq.drec, decidable, polynomial.mod_by_monic.equations._eqn_1, eq.trans, congr_arg, congr, id, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.module, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial.div_mod_by_monic_aux, polynomial.nat_degree, nat.has_sub, has_sub.sub, polynomial.X, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, polynomial.has_mul, has_mul.mul, prod, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, and, ite, prod.snd, polynomial.monic.decidable, dite, eq.mpr, preorder.to_has_le, has_le.le, not, polynomial.degree_mod_by_monic_lt, eq.subst, iff.intro, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.mod_by_monic, eq, iff, polynomial.has_zero, has_zero.zero, ne, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.mod_by_monic_eq_sub_mul_div, [add_zero, neg_zero, mul_zero, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, add_monoid.to_has_zero, if_neg, polynomial.div_wf_lemma, trivial, eq_self_iff_true, add_right_inj, add_group.to_right_cancel_add_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_comm, neg_add_rev, semiring.to_semimodule, ring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, mul_add, if_true, has_add, if_simp_congr, and_self, not_false_iff, and.elim_right, iff_false_intro, propext, ne.def, false, iff.refl, iff, and.elim_left, and_congr, iff.trans, decidable_of_decidable_of_iff, distrib.to_has_mul, add_assoc, sub_eq_add_neg, mul_comm, ring.to_distrib, distrib.to_has_add, true.intro, iff_true_intro, iff.mpr, comm_ring.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, true, eq.mp, if_pos, dif_pos, eq.rec, polynomial.div_by_monic.equations._eqn_1, has_mul, has_sub, polynomial.div_mod_by_monic_aux.equations._eqn_1, congr_fun, funext, eq.refl, eq.drec, decidable, polynomial.mod_by_monic.equations._eqn_1, eq.trans, congr_arg, congr, id, not, prod.fst, polynomial.has_add, has_add.add, prod.mk, polynomial.div_mod_by_monic_aux, prod, ite, prod.snd, polynomial.monic.decidable, eq.mpr, polynomial.nat_degree, nat.has_sub, polynomial.X, polynomial.comm_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.leading_coeff, polynomial.C, preorder.to_has_lt, has_lt.lt, polynomial.decidable_eq, ne.decidable, nat.decidable_le, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, and.decidable, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, dite, id_rhs, has_well_founded.wf, polynomial.has_well_founded, has_well_founded.r, well_founded.fix, polynomial.div_by_monic, polynomial.has_mul, has_mul.mul, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.mod_by_monic, eq, polynomial.monic, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.module, [ring.to_module, nat.decidable_eq, nat, finsupp.to_module, comm_ring.to_ring, comm_ring.to_comm_semiring, polynomial, module, comm_ring, decidable_eq]), (polynomial.monic, [comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.monic.decidable, [polynomial.monic.decidable._proof_1, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, eq, eq.mpr, polynomial.monic, decidable, polynomial, comm_semiring, decidable_eq]), (polynomial.monic.decidable._proof_1, [polynomial.monic.equations._eqn_1, congr_arg, id, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, polynomial.monic, decidable, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.monic.def, [iff.rfl, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, eq, polynomial.monic, iff, polynomial, comm_semiring, decidable_eq]), (polynomial.monic.equations._eqn_1, [eq.refl, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, polynomial.monic, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.monic_X_sub_C, [polynomial.degree_C, polynomial.degree_neg, nat.add_monoid, with_bot.add_monoid, not, trivial, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_decidable_linear_order, with_bot.decidable_linear_order, has_lt.lt.decidable, of_as_true, polynomial.degree_X, polynomial.degree_zero, neg_zero, polynomial.C_0, has_neg, polynomial.has_zero, eq.drec, comm_semiring, add_monoid.to_has_zero, eq.trans, congr_arg, congr, has_lt, nat.has_one, with_bot.has_one, with_bot.has_bot, lattice.has_bot.bot, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, dite, polynomial.leading_coeff_X, polynomial.leading_coeff_add_of_degree_lt, polynomial.has_add, add_comm, semiring.to_semimodule, polynomial.comm_ring, ring.to_semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, sub_eq_add_neg, eq.refl, eq.rec, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, polynomial.monic.equations._eqn_1, id, comm_semiring.to_semiring, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.leading_coeff, eq, eq.mpr, add_group.to_has_neg, has_neg.neg, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat, with_bot, has_lt.lt, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial, has_sub.sub, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.monic, nonzero_comm_ring, decidable_eq]), (polynomial.mul_apply_degree_add_degree, [polynomial.le_nat_degree_of_ne_zero, lt_of_le_of_ne, add_lt_add, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, if_neg, imp_congr_eq, polynomial.leading_coeff.equations._eqn_1, if_true, mul_zero, add_right_inj, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, nat.inhabited, forall_const, if_false, iff_false_intro, add_left_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, iff.trans, false, trivial, forall_true_iff, eq_self_iff_true, finsupp.sum_zero, if_t_t, zero_mul, has_mul, if_simp_congr, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_inj, decidable_of_decidable_of_iff, not_not, true, finsupp.single_apply, funext, add_comm_monoid, congr_arg, congr, ne.def, finsupp.mem_support_iff, propext, eq.trans, imp_congr_ctx_eq, forall_congr_eq, not, finset.has_mem, finset, has_mem.mem, finset.sum_eq_single, finsupp.sum.equations._eqn_1, finsupp.sum_apply, finsupp.has_coe_to_fun, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, finsupp.mul_def, eq.refl, finsupp.has_mul, eq.rec, id, finsupp.single, finsupp.add_comm_monoid, finsupp, finsupp.sum, eq.mpr, nat.decidable_eq, ite, finsupp.support, semiring.to_semimodule, semimodule.to_add_comm_monoid, finset.sum, mul_zero_class.to_has_zero, has_zero.zero, ne, polynomial.leading_coeff, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, polynomial.nat_degree, nat.has_add, nat, has_add.add, polynomial.has_mul, has_mul.mul, polynomial.has_coe_to_fun, coe_fn, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.mul_div_by_monic_eq_iff_is_root, [zero_add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, polynomial.C_0, polynomial.has_zero, polynomial.mod_by_monic_X_sub_C_eq_C_eval, polynomial.monic_X_sub_C, polynomial.mod_by_monic_add_div, eq.trans, congr_arg, congr, polynomial.mod_by_monic, polynomial.has_add, has_add.add, zero_mul, ring.to_semiring, sub_self, add_group.to_add_monoid, add_monoid.to_has_zero, polynomial.eval_C, polynomial.eval_X, polynomial.eval_sub, ring.to_module, polynomial.eval_mul, mul_zero_class.to_has_mul, polynomial.is_root.def, propext, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq.symm, eq.refl, eq.rec, id, eq.mpr, iff.intro, polynomial.is_root, polynomial.div_by_monic, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, polynomial.has_mul, has_mul.mul, eq, iff, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nat_degree, [nat.has_zero, has_zero.zero, polynomial.degree, option.get_or_else, nat, polynomial, comm_semiring, decidable_eq]), (polynomial.nat_degree.equations._eqn_1, [eq.refl, nat.has_zero, has_zero.zero, polynomial.degree, option.get_or_else, polynomial.nat_degree, nat, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.nat_degree_eq_of_degree_eq, [eq.refl, eq.rec, polynomial.nat_degree.equations._eqn_1, congr_arg, congr, id, nat.has_zero, has_zero.zero, option.get_or_else, eq.mpr, polynomial.nat_degree, polynomial.degree, nat, with_bot, eq, polynomial, comm_semiring, decidable_eq]), (polynomial.nat_degree_mul_eq', [zero_mul, not_true, eq_self_iff_true, propext, ne.def, mul_zero, has_mul, congr_arg, congr, true, not, eq.trans, false, polynomial.leading_coeff_eq_zero, iff.mpr, mt, rfl, polynomial.mul_apply_degree_add_degree, polynomial.zero_apply, polynomial.has_coe_to_fun, coe_fn, eq.mp, polynomial.degree_mul_eq', polynomial.degree_eq_nat_degree, eq.symm, eq.refl, eq.rec, id, polynomial.degree, eq.mpr, nat.add_semigroup, with_bot.add_semigroup, add_semigroup.to_has_add, with_bot.has_coe_t, coe_to_lift, coe, with_bot, option.some_inj, option.some, option, iff.mp, polynomial.has_zero, nat.has_add, has_add.add, polynomial.has_mul, polynomial.nat_degree, nat, eq, mul_zero_class.to_has_zero, has_zero.zero, polynomial.leading_coeff, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, ne, polynomial, comm_semiring, decidable_eq]), (polynomial.nat_degree_zero, [eq.refl, polynomial.degree_zero, option, polynomial.nat_degree.equations._eqn_1, polynomial.degree, eq.trans, congr_arg, congr, id, with_bot.has_bot, with_bot, lattice.has_bot.bot, option.get_or_else, eq.mpr, nat.has_zero, polynomial.has_zero, polynomial, has_zero.zero, polynomial.nat_degree, nat, eq, comm_semiring, decidable_eq]), (polynomial.ne_zero_of_degree_gt, [with_bot.order_bot, lattice.bot_le, lt_of_le_of_lt, ne_of_lt, ne.symm, polynomial.degree_eq_bot, iff.mpr, with_bot.has_bot, lattice.has_bot.bot, eq, mt, polynomial.has_zero, has_zero.zero, ne, polynomial.degree, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, nat, with_bot, polynomial, comm_semiring, decidable_eq]), (polynomial.ne_zero_of_monic, [eq.subst, polynomial.not_monic_zero, eq, polynomial.has_zero, has_zero.zero, ne, polynomial.monic, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.ne_zero_of_ne_zero_of_monic, [rfl, mul_one, polynomial.C_1, polynomial.has_one, polynomial.monic.def, propext, polynomial.leading_coeff_zero, polynomial.leading_coeff, eq.symm, semiring.to_monoid, monoid.to_has_one, has_one.one, polynomial.C_0, comm_semiring.to_semiring, polynomial.C, mul_zero, eq.refl, mul_zero_class.to_has_mul, eq.rec, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mp, false, id_rhs, eq, polynomial.monic, polynomial.has_zero, has_zero.zero, ne, comm_ring.to_comm_semiring, polynomial, comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring, [polynomial.nonzero_comm_ring._proof_12, polynomial.nonzero_comm_ring._proof_11, polynomial.nonzero_comm_ring._proof_10, polynomial.nonzero_comm_ring._proof_9, polynomial.nonzero_comm_ring._proof_8, polynomial.nonzero_comm_ring._proof_7, comm_ring.mul, polynomial.nonzero_comm_ring._proof_6, polynomial.nonzero_comm_ring._proof_5, comm_ring.neg, polynomial.nonzero_comm_ring._proof_4, polynomial.nonzero_comm_ring._proof_3, polynomial.nonzero_comm_ring._proof_2, comm_ring.add, polynomial.nonzero_comm_ring._proof_1, comm_ring.one, polynomial.comm_ring, comm_ring.zero, nonzero_comm_ring.mk, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_1, [polynomial.eval_C, congr_arg, polynomial.eval_zero, comm_semiring.to_semiring, eq.symm, zero_ne_one_class.to_has_one, polynomial.has_one, polynomial.eval, zero_ne_one_class.to_has_zero, eq.trans, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one, false, semiring.to_monoid, monoid.to_has_one, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, nat.decidable_eq, nat, finsupp.has_one, has_one.one, polynomial.has_zero, has_zero.zero, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, eq, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_10, [comm_ring.left_distrib, comm_ring.add, has_add.mk, has_add.add, polynomial.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_11, [comm_ring.right_distrib, comm_ring.add, has_add.mk, has_add.add, polynomial.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_12, [comm_ring.mul_comm, comm_ring.mul_assoc, polynomial.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_2, [comm_ring.add_assoc, polynomial.comm_ring, comm_ring.add, has_add.mk, has_add.add, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_3, [comm_ring.zero_add, comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, polynomial.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_4, [comm_ring.add_zero, comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, polynomial.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_5, [comm_ring.add_left_neg, add_monoid.to_has_zero, has_zero.zero, comm_ring.neg, has_neg.mk, has_neg.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, polynomial.comm_ring, comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_6, [comm_ring.add_comm, comm_ring.add_assoc, polynomial.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_7, [comm_ring.mul_assoc, polynomial.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_8, [comm_ring.one_mul, comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, polynomial.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.nonzero_comm_ring._proof_9, [comm_ring.mul_one, comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, polynomial.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, nonzero_comm_ring, decidable_eq]), (polynomial.not_monic_zero, [trivial, not_false_iff, zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_one, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, propext, eq.refl, polynomial.leading_coeff_zero, congr, polynomial.monic.equations._eqn_1, polynomial.leading_coeff, semiring.to_monoid, monoid.to_has_one, has_one.one, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, congr_arg, false, eq.trans, eq, id, true, eq.mpr, polynomial.has_zero, polynomial, has_zero.zero, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.monic, not, nonzero_comm_ring, decidable_eq]), (polynomial.nth_roots, [polynomial.C, polynomial.X, polynomial.integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, has_sub.sub, eq, polynomial.roots, classical.prop_decidable, decidable, finset, nat, integral_domain]), (polynomial.nth_roots.equations._eqn_1, [eq.refl, polynomial.C, polynomial.X, polynomial.integral_domain, integral_domain.to_domain, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, has_sub.sub, polynomial.roots, classical.prop_decidable, decidable, polynomial.nth_roots, finset, eq, nat, integral_domain]), (polynomial.root_X_sub_C, [iff.refl, eq_comm, sub_eq_zero_iff_eq, add_group.to_add_monoid, add_monoid.to_has_zero, polynomial.eval_C, polynomial.eval_X, polynomial.eval_sub, ring.to_module, polynomial.is_root.def, propext, eq.refl, eq.rec, id, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq.mpr, eq, polynomial.C, polynomial.X, polynomial.module, comm_ring.to_ring, module.to_add_comm_group, add_comm_group.to_add_group, add_group_has_sub, polynomial, has_sub.sub, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial.is_root, iff, nonzero_comm_ring, decidable_eq]), (polynomial.root_mul_left_of_is_root, [trivial, forall_true_iff, eq_self_iff_true, mul_zero, eq.refl, has_mul, polynomial.eval_mul, mul_zero_class.to_has_mul, congr_arg, congr, polynomial.is_root.def, propext, imp_congr_ctx_eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq.trans, eq, id, true, eq.mpr, polynomial.has_mul, has_mul.mul, polynomial.is_root, polynomial, comm_semiring, decidable_eq]), (polynomial.root_mul_right_of_is_root, [trivial, forall_true_iff, eq_self_iff_true, zero_mul, eq.refl, has_mul, polynomial.eval_mul, mul_zero_class.to_has_mul, congr_arg, congr, polynomial.is_root.def, propext, imp_congr_ctx_eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, polynomial.eval, eq.trans, eq, id, true, eq.mpr, polynomial.has_mul, has_mul.mul, polynomial.is_root, polynomial, comm_semiring, decidable_eq]), (polynomial.root_or_root_of_root_mul, [polynomial.is_root.equations._eqn_1, polynomial.eval_mul, eq.refl, eq.rec, mul_zero_class.to_has_mul, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, eq, eq.mp, polynomial.eval, integral_domain.to_domain, domain.to_no_zero_divisors, eq_zero_or_eq_zero_of_mul_eq_zero, or, polynomial.has_mul, has_mul.mul, polynomial.is_root, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.roots, [polynomial.roots._proof_1, polynomial.is_root, finset.has_mem, has_mem.mem, iff, polynomial.degree, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, classical.some, not, finset.has_emptyc, has_emptyc.emptyc, polynomial.decidable_eq, polynomial.has_zero, has_zero.zero, eq, dite, finset, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.roots._proof_1, [polynomial.exists_finset_roots, polynomial.is_root, finset.has_mem, has_mem.mem, iff, polynomial.degree, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, finset, Exists, polynomial.has_zero, has_zero.zero, eq, not, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.roots.equations._eqn_1, [eq.refl, polynomial.roots._proof_1, polynomial.is_root, finset.has_mem, has_mem.mem, iff, polynomial.degree, finset.card, with_bot.has_coe_t, coe_to_lift, coe, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, with_bot.ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, nat, with_bot, has_le.le, and, classical.some, not, finset.has_emptyc, has_emptyc.emptyc, polynomial.decidable_eq, polynomial.has_zero, has_zero.zero, dite, polynomial.roots, finset, eq, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, polynomial, integral_domain, decidable_eq]), (polynomial.single_eq_C_mul_X, [trivial, eq_self_iff_true, propext, pow_one, pow_add, mul_assoc, true, pprod, punit, nat.rec, nat.add, pprod.fst, monoid.to_semigroup, semigroup.to_has_mul, finsupp.single_mul_single, mul_zero_class.to_has_mul, polynomial.X.equations._eqn_1, eq.rec, nat.has_one, has_add.add, nat.succ, mul_one, pow_zero, polynomial, has_mul, monoid.to_has_one, has_one.one, eq.trans, eq.refl, congr_arg, congr, id, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, polynomial.X, semiring.to_semimodule, nat.semiring, semimodule.to_add_comm_monoid, finsupp.to_comm_semiring, semiring.to_monoid, monoid.has_pow, has_pow.pow, polynomial.C, nat.has_add, finsupp.has_mul, has_mul.mul, nat.decidable_eq, finsupp.single, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, finsupp, eq, nat, comm_semiring, decidable_eq]), (polynomial.subsingleton_of_monic_zero, [mul_zero, mul_zero_class.to_has_mul, ring.to_semiring, polynomial.C_0, polynomial.monic.def, propext, polynomial.leading_coeff_zero, polynomial.leading_coeff, eq.mp, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.C_1, polynomial.has_one, comm_semiring.to_semiring, semiring.to_monoid, polynomial.C, mul_one, eq.symm, eq.refl, eq.rec, id, monoid.to_has_one, has_one.one, polynomial.comm_ring, comm_ring.to_ring, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mpr, and.intro, eq, and, polynomial.has_zero, polynomial, has_zero.zero, comm_ring.to_comm_semiring, polynomial.monic, comm_ring, decidable_eq]), (polynomial.zero_apply, [rfl, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, polynomial.has_zero, has_zero.zero, polynomial.has_coe_to_fun, polynomial, coe_fn, eq, nat, comm_semiring, decidable_eq]), (pow_add, [mul_assoc, pow_succ', nat.add_succ, nat.succ, trivial, eq_self_iff_true, propext, mul_one, pow_zero, has_mul, monoid.to_has_one, has_one.one, nat.add_monoid, add_zero, nat.nat_zero_eq_zero, has_add, nat.has_zero, has_zero.zero, eq.refl, has_pow, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_add, has_add.add, monoid.has_pow, has_pow.pow, eq, nat, monoid]), (pow_card_eq_one, [order_of_dvd_card_univ, trivial, eq_self_iff_true, propext, one_pow, pow_order_of_eq_one, pow_mul, eq.refl, has_pow, congr_arg, congr, eq.trans, id, true, eq.mpr, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, Exists.dcases_on, order_of, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, monoid.to_has_one, has_one.one, fintype.card, group.to_monoid, monoid.has_pow, nat, has_pow.pow, eq, decidable_eq, fintype, group]), (pow_eq_mod_order_of, [trivial, eq_self_iff_true, propext, mul_one, one_pow, pow_order_of_eq_one, has_pow, pow_mul, has_mul, pow_add, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, congr_arg, congr, true, nat.mod_add_div, eq.refl, eq.rec, id, eq.mpr, nat.has_div, has_div.div, nat.has_mul, has_mul.mul, nat.has_add, has_add.add, eq.trans, order_of, nat.has_mod, has_mod.mod, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat, decidable_eq, fintype, group]), (pow_injective_of_lt_order_of, [eq.symm, _private.4157647225.pow_injective_aux, le_total, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, or.elim, group.to_monoid, monoid.has_pow, has_pow.pow, eq, order_of, nat.has_lt, has_lt.lt, nat, decidable_eq, fintype, group]), (pow_inv_comm, [pow_mul_comm, inv_comm_of_comm, inv_pow, eq.refl, eq.rec, id, eq.mpr, group.to_has_inv, has_inv.inv, monoid.has_pow, has_pow.pow, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, nat, group]), (pow_mul, [pprod, punit, nat.rec, nat.add, pprod.fst, pow_succ', pow_add, monoid.to_semigroup, semigroup.to_has_mul, nat.mul_succ, eq.rec, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, eq_self_iff_true, propext, pow_zero, nat.semiring, semiring.to_mul_zero_class, mul_zero, eq.refl, has_pow, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, eq.mpr, nat.has_zero, has_zero.zero, id_rhs, nat.zero, nat.cases_on, nat.below, nat.brec_on, nat.has_mul, has_mul.mul, monoid.has_pow, has_pow.pow, eq, nat, monoid]), (pow_mul_comm', [mul_assoc, pow_succ, nat.succ, trivial, eq_self_iff_true, propext, mul_one, one_mul, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, has_zero.zero, has_mul, monoid.to_has_one, has_one.one, congr_arg, congr, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, monoid.has_pow, has_pow.pow, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, nat, monoid]), (pow_mul_comm, [add_comm, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, pow_add, eq.symm, eq.refl, eq.rec, id, nat.has_add, has_add.add, eq.mpr, monoid.has_pow, has_pow.pow, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, nat, monoid]), (pow_ne_zero, [or_self, mul_eq_zero, or, no_zero_divisors.to_has_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.succ, trivial, not_false_iff, one_ne_zero, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_zero, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, propext, ne.def, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, congr_arg, congr, monoid.to_has_one, has_one.one, false, not, eq.trans, eq, id, true, nat.zero, eq.mpr, nat.rec, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, nat, domain]), (pow_one, [mul_one, nat.has_one, has_one.one, monoid.has_pow, nat, has_pow.pow, eq, monoid]), (pow_order_of_eq_one, [nat.find_spec, id_rhs, Exists.dcases_on, exists_pow_eq_one, nat.decidable_lt, exists_prop_decidable, nat.has_zero, has_zero.zero, nat.find, nat.has_lt, gt, Exists, monoid.to_has_one, has_one.one, order_of, group.to_monoid, monoid.has_pow, nat, has_pow.pow, eq, decidable_eq, fintype, group]), (pow_sub, [nat.sub_add_cancel, pow_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, eq_mul_inv_of_mul_eq, nat.has_add, has_add.add, group.to_has_inv, has_inv.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_sub, has_sub.sub, group.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_le, ge, nat, group]), (pow_succ', [trivial, eq_self_iff_true, propext, pow_mul_comm', pow_succ, congr_arg, congr, eq.trans, id, true, eq.mpr, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, has_one.one, nat.has_add, has_add.add, monoid.has_pow, has_pow.pow, eq, nat, monoid]), (pow_succ, [rfl, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, has_one.one, nat.has_add, has_add.add, monoid.has_pow, has_pow.pow, eq, nat, monoid]), (pow_two, [trivial, eq_self_iff_true, propext, mul_one, pow_zero, monoid.to_has_one, nat.has_zero, has_zero.zero, eq.refl, has_mul, pow_succ, has_add.add, congr_arg, congr, eq.trans, id, true, eq.mpr, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, has_one.one, nat.has_add, bit0, monoid.has_pow, nat, has_pow.pow, eq, monoid]), (pow_zero, [rfl, monoid.to_has_one, has_one.one, nat.has_zero, has_zero.zero, monoid.has_pow, nat, has_pow.pow, eq, monoid]), (powers, [monoid.has_pow, has_pow.pow, eq, nat, Exists, set_of, set, monoid]), (powers_eq_gpowers, [gpow_eq_mod_order_of, order_of_pos, int.coe_nat_ne_zero_iff_pos, nat.has_zero, nat.has_lt, has_lt.lt, int.has_zero, has_zero.zero, ne, iff.mpr, int.mod_nonneg, int.nat_abs_of_nonneg, eq.symm, eq.rec, order_of, int.has_mod, has_mod.mod, int.nat_abs, trivial, eq_self_iff_true, propext, eq.refl, gpow_coe_nat, congr_arg, congr, eq.trans, id, true, eq.mpr, int.has_coe, coe_base, coe_to_lift, coe, Exists.intro, group.has_pow, int, Exists, id_rhs, monoid.has_pow, has_pow.pow, nat, Exists.dcases_on, set.has_mem, has_mem.mem, iff.intro, set.ext, gpowers, group.to_monoid, powers, set, eq, decidable_eq, fintype, group]), (pprod, []), (pprod.fst, [pprod]), (pprod.mk, [pprod]), (preorder, []), (preorder.cases_on, [preorder.rec, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, preorder]), (preorder.ext, [trivial, eq_self_iff_true, congr_arg, congr, eq.trans, true, eq.mpr, id, propext, funext, eq.refl, eq.rec, eq.drec, preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, auto_param, has_le.mk, preorder.cases_on, eq, preorder.to_has_le, has_le.le, iff, preorder]), (preorder.le, [preorder]), (preorder.le_refl, [preorder.le, has_le.mk, has_le.le, preorder]), (preorder.le_trans, [preorder.le, has_le.mk, has_le.le, preorder]), (preorder.lt, [preorder]), (preorder.lt._default, [not, has_le.mk, has_le.le, and, id]), (preorder.lt_iff_le_not_le, [name.anonymous, name.mk_string, not, preorder.le, has_le.mk, has_le.le, and, preorder.lt, has_lt.mk, has_lt.lt, iff, auto_param, preorder]), (preorder.mk, [preorder, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (preorder.mk.inj, [and.intro, preorder.no_confusion, preorder.mk, preorder, eq, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (preorder.mk.inj_arrow, [and.elim_right, preorder.mk.inj, and.elim_left, preorder.mk, preorder, eq, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le]), (preorder.no_confusion, [eq.refl, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, preorder.cases_on, eq.rec, preorder.no_confusion_type, eq, preorder]), (preorder.no_confusion_type, [eq, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, preorder.cases_on, preorder]), (preorder.rec, [preorder.mk, name.anonymous, name.mk_string, not, and, has_lt.mk, has_lt.lt, iff, auto_param, has_le.mk, has_le.le, preorder]), (preorder.to_has_le, [preorder.le, has_le.mk, has_le, preorder]), (preorder.to_has_lt, [preorder.lt, has_lt.mk, has_lt, preorder]), (prod, []), (prod.add_comm_group, [prod.add_comm_group._proof_5, prod.add_comm_group._proof_4, add_group.neg, prod.add_comm_group._proof_3, prod.add_comm_group._proof_2, add_group.zero, prod.add_comm_group._proof_1, add_comm_group.to_add_group, prod.add_group, add_group.add, add_comm_group.mk, prod, add_comm_group]), (prod.add_comm_group._proof_1, [add_group.add_assoc, add_comm_group.to_add_group, prod.add_group, add_group.add, has_add.mk, has_add.add, eq, prod, add_comm_group]), (prod.add_comm_group._proof_2, [add_group.zero_add, add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, add_comm_group.to_add_group, prod.add_group, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_comm_group]), (prod.add_comm_group._proof_3, [add_group.add_zero, add_group.zero, has_zero.mk, has_zero.zero, add_group.add_assoc, add_comm_group.to_add_group, prod.add_group, add_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_comm_group]), (prod.add_comm_group._proof_4, [add_group.add_left_neg, add_monoid.to_has_zero, has_zero.zero, add_group.neg, has_neg.mk, has_neg.neg, add_group.add_zero, add_group.zero_add, add_group.zero, add_group.add_assoc, add_comm_group.to_add_group, prod.add_group, add_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, prod, add_comm_group]), (prod.add_comm_group._proof_5, [add_comm_group.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, prod.mk, eq, prod, add_comm_group]), (prod.add_group, [prod.add_group._proof_4, add_group.to_has_neg, prod.has_neg, has_neg.neg, prod.add_group._proof_3, prod.add_group._proof_2, add_monoid.zero, prod.add_group._proof_1, add_group.to_add_monoid, prod.add_monoid, add_monoid.add, add_group.mk, prod, add_group]), (prod.add_group._proof_1, [add_monoid.add_assoc, add_group.to_add_monoid, prod.add_monoid, add_monoid.add, has_add.mk, has_add.add, eq, prod, add_group]), (prod.add_group._proof_2, [add_monoid.zero_add, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, add_group.to_add_monoid, prod.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_group]), (prod.add_group._proof_3, [add_monoid.add_zero, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, add_group.to_add_monoid, prod.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_group]), (prod.add_group._proof_4, [add_left_neg, and.intro, prod.mk.inj_iff, and, iff.mpr, add_monoid.to_has_zero, has_zero.zero, prod.snd, add_group.to_has_neg, has_neg.neg, prod.fst, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, prod.mk, eq, prod, add_group]), (prod.add_monoid, [prod.add_monoid._proof_3, prod.add_monoid._proof_2, add_monoid.to_has_zero, prod.has_zero, has_zero.zero, prod.add_monoid._proof_1, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, add_monoid.mk, prod, add_monoid]), (prod.add_monoid._match_1, [zero_add, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, add_semigroup.to_has_add, has_add.add, id_rhs, prod.cases_on, add_monoid.to_has_zero, has_zero.zero, prod.mk, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, eq, prod, add_monoid]), (prod.add_monoid._match_2, [add_zero, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, prod.mk, id_rhs, prod.cases_on, add_monoid.to_has_zero, prod.has_zero, has_zero.mk, has_zero.zero, add_semigroup.add_assoc, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_monoid]), (prod.add_monoid._proof_1, [add_semigroup.add_assoc, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, has_add.mk, has_add.add, eq, prod, add_monoid]), (prod.add_monoid._proof_2, [prod.add_monoid._match_1, add_monoid.to_has_zero, has_zero.zero, prod.mk, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, eq, prod, add_monoid]), (prod.add_monoid._proof_3, [prod.add_monoid._match_2, add_monoid.to_has_zero, prod.has_zero, has_zero.mk, has_zero.zero, add_semigroup.add_assoc, add_monoid.to_add_semigroup, prod.add_semigroup, add_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, add_monoid]), (prod.add_semigroup, [prod.add_semigroup._proof_1, add_semigroup.to_has_add, prod.has_add, has_add.add, add_semigroup.mk, prod, add_semigroup]), (prod.add_semigroup._proof_1, [add_assoc, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, add_semigroup.to_has_add, has_add.add, prod.mk, eq, prod, add_semigroup]), (prod.cases_on, [prod.rec, prod.mk, prod]), (prod.comm_monoid, [prod.comm_monoid._proof_4, prod.comm_monoid._proof_3, prod.comm_monoid._proof_2, monoid.one, prod.comm_monoid._proof_1, comm_monoid.to_monoid, prod.monoid, monoid.mul, comm_monoid.mk, prod, comm_monoid]), (prod.comm_monoid._proof_1, [monoid.mul_assoc, comm_monoid.to_monoid, prod.monoid, monoid.mul, has_mul.mk, has_mul.mul, eq, prod, comm_monoid]), (prod.comm_monoid._proof_2, [monoid.one_mul, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, comm_monoid.to_monoid, prod.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, prod, comm_monoid]), (prod.comm_monoid._proof_3, [monoid.mul_one, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, comm_monoid.to_monoid, prod.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, prod, comm_monoid]), (prod.comm_monoid._proof_4, [comm_monoid.to_comm_semigroup, mul_comm, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, prod.mk, eq, prod, comm_monoid]), (prod.decidable_eq, [prod.decidable_eq._main, prod, decidable_eq]), (prod.decidable_eq._main, [prod.decidable_eq._match_1, id_rhs, prod.mk, eq, decidable, prod.cases_on, prod, decidable_eq]), (prod.decidable_eq._match_1, [prod.decidable_eq._match_2, absurd, false, prod.no_confusion, decidable.is_false, id_rhs, not, decidable.cases_on, prod.mk, prod, eq, decidable, decidable_eq]), (prod.decidable_eq._match_2, [rfl, eq.rec_on, decidable.is_true, absurd, false, prod.no_confusion, decidable.is_false, id_rhs, not, decidable.cases_on, prod.mk, prod, decidable, eq]), (prod.exists, [Exists.intro, id_rhs, prod.cases_on, Exists.dcases_on, iff.intro, prod.mk, Exists, iff, prod]), (prod.ext_iff, [iff.refl, prod.mk.inj_iff, propext, prod.mk.eta, eq.symm, eq.refl, eq.rec, id, prod.mk, eq.mpr, prod.snd, prod.fst, and, eq, iff, prod]), (prod.fintype, [prod.fintype._proof_1, finset.univ, finset.product, fintype.mk, prod, fintype]), (prod.fintype._match_1, [trivial, and_self, finset.mem_univ, iff_true_intro, congr_arg, congr, finset.mem_product, propext, prod.snd, prod.fst, and, eq.trans, eq, id, true, eq.mpr, prod.mk, id_rhs, prod.cases_on, finset.univ, finset.product, finset.has_mem, finset, has_mem.mem, prod, fintype]), (prod.fintype._proof_1, [prod.fintype._match_1, finset.univ, finset.product, finset.has_mem, finset, has_mem.mem, prod, fintype]), (prod.forall, [id_rhs, prod.cases_on, iff.intro, prod.mk, iff, prod]), (prod.fst, [prod]), (prod.fst_mul, [rfl, prod.has_mul, has_mul.mul, prod.fst, eq, has_mul, prod]), (prod.fst_neg, [rfl, prod.has_neg, has_neg.neg, prod.fst, eq, has_neg, prod]), (prod.has_add, [prod.snd, prod.fst, has_add.add, prod.mk, has_add.mk, prod, has_add]), (prod.has_mul, [prod.snd, prod.fst, has_mul.mul, prod.mk, has_mul.mk, prod, has_mul]), (prod.has_neg, [prod.snd, prod.fst, has_neg.neg, prod.mk, has_neg.mk, prod, has_neg]), (prod.has_one, [has_one.one, prod.mk, has_one.mk, prod, has_one]), (prod.has_zero, [has_zero.zero, prod.mk, has_zero.mk, prod, has_zero]), (prod.mk, [prod]), (prod.mk.eta, [rfl, id_rhs, prod.cases_on, prod.snd, prod.fst, prod.mk, eq, prod]), (prod.mk.inj, [and.intro, prod.no_confusion, and, prod.mk, prod, eq]), (prod.mk.inj_arrow, [prod.no_confusion, prod.mk, prod, eq]), (prod.mk.inj_iff, [and_eq_of_eq_true_right, eq.symm, true, eq.trans, eq_true_of_and_eq_true_right, heq.refl, heq, eq_of_heq, eq.rec, eq_true_intro, of_eq_true, prod.mk.inj, iff.intro, and, prod.mk, prod, eq, iff]), (prod.monoid, [prod.monoid._proof_3, prod.monoid._proof_2, monoid.to_has_one, prod.has_one, has_one.one, prod.monoid._proof_1, monoid.to_semigroup, prod.semigroup, semigroup.mul, monoid.mk, prod, monoid]), (prod.monoid._proof_1, [semigroup.mul_assoc, monoid.to_semigroup, prod.semigroup, semigroup.mul, has_mul.mk, has_mul.mul, eq, prod, monoid]), (prod.monoid._proof_2, [one_mul, and.intro, prod.mk.inj_iff, and, prod.snd, prod.fst, semigroup.to_has_mul, has_mul.mul, iff.mpr, prod.rec_on, monoid.to_has_one, has_one.one, prod.mk, monoid.to_semigroup, prod.semigroup, semigroup.mul, eq, prod, monoid]), (prod.monoid._proof_3, [mul_one, and.intro, prod.mk.inj_iff, and, prod.snd, prod.fst, prod.mk, iff.mpr, prod.rec_on, monoid.to_has_one, prod.has_one, has_one.mk, has_one.one, semigroup.mul_assoc, monoid.to_semigroup, prod.semigroup, semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, prod, monoid]), (prod.no_confusion, [eq.refl, prod.cases_on, eq.rec, prod.no_confusion_type, eq, prod]), (prod.no_confusion_type, [eq, prod.cases_on, prod]), (prod.rec, [prod.mk, prod]), (prod.rec_on, [prod.rec, prod.mk, prod]), (prod.ring, [prod.ring._proof_10, prod.ring._proof_9, prod.ring._proof_8, prod.ring._proof_7, monoid.one, prod.ring._proof_6, ring.to_monoid, prod.monoid, monoid.mul, prod.ring._proof_5, prod.ring._proof_4, add_comm_group.neg, prod.ring._proof_3, prod.ring._proof_2, add_comm_group.zero, prod.ring._proof_1, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, ring.mk, prod, ring]), (prod.ring._proof_1, [add_comm_group.add_assoc, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, has_add.mk, has_add.add, eq, prod, ring]), (prod.ring._proof_10, [ring.to_distrib, right_distrib, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.monoid, monoid.mul, has_mul.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, prod.snd, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, has_add.mk, has_add.add, prod.fst, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, prod.mk, eq, prod, ring]), (prod.ring._proof_2, [add_comm_group.zero_add, add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, ring]), (prod.ring._proof_3, [add_comm_group.add_zero, add_comm_group.zero, has_zero.mk, has_zero.zero, add_comm_group.add_assoc, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, ring]), (prod.ring._proof_4, [add_comm_group.add_left_neg, add_monoid.to_has_zero, has_zero.zero, add_comm_group.neg, has_neg.mk, has_neg.neg, add_comm_group.add_zero, add_comm_group.zero_add, add_comm_group.zero, add_comm_group.add_assoc, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, prod, ring]), (prod.ring._proof_5, [add_comm_group.add_comm, add_comm_group.add_assoc, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, prod, ring]), (prod.ring._proof_6, [monoid.mul_assoc, ring.to_monoid, prod.monoid, monoid.mul, has_mul.mk, has_mul.mul, eq, prod, ring]), (prod.ring._proof_7, [monoid.one_mul, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, ring.to_monoid, prod.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, prod, ring]), (prod.ring._proof_8, [monoid.mul_one, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, ring.to_monoid, prod.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, prod, ring]), (prod.ring._proof_9, [ring.to_distrib, left_distrib, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.monoid, monoid.mul, has_mul.mk, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, prod.snd, ring.to_module, module.to_add_comm_group, prod.add_comm_group, add_comm_group.add, has_add.mk, has_add.add, prod.fst, ring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, prod.mk, eq, prod, ring]), (prod.semigroup, [prod.semigroup._proof_1, semigroup.to_has_mul, prod.has_mul, has_mul.mul, semigroup.mk, prod, semigroup]), (prod.semigroup._proof_1, [mul_assoc, and.intro, prod.mk.inj_iff, and, iff.mpr, prod.snd, prod.fst, semigroup.to_has_mul, has_mul.mul, prod.mk, eq, prod, semigroup]), (prod.snd, [prod]), (prod.snd_mul, [rfl, prod.has_mul, has_mul.mul, prod.snd, eq, has_mul, prod]), (prod.snd_neg, [rfl, prod.has_neg, has_neg.neg, prod.snd, eq, has_neg, prod]), (proof_irrel, [rfl, eq]), (propext, [eq, iff]), (psigma, []), (psigma.cases_on, [psigma.rec, psigma.mk, psigma]), (psigma.eq, [heq.refl, eq.symm, rfl, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, psigma.mk, psigma.cases_on, psigma.snd, eq.rec_on, psigma.fst, eq, psigma]), (psigma.fst, [psigma]), (psigma.has_well_founded, [psigma.has_well_founded._proof_1, has_well_founded.r, psigma.lex, has_well_founded.mk, psigma, has_well_founded]), (psigma.has_well_founded._proof_1, [has_well_founded.wf, psigma.lex_wf, has_well_founded.r, psigma.lex, psigma, well_founded, has_well_founded]), (psigma.lex, [psigma]), (psigma.lex.left, [psigma.mk, psigma.lex]), (psigma.lex.rec, [psigma.lex, psigma.mk, psigma]), (psigma.lex.rec_on, [psigma.lex.rec, psigma.mk, psigma.lex, psigma]), (psigma.lex_accessible, [eq_of_heq, eq.rec, psigma.snd, psigma.fst, psigma.lex.rec_on, heq.refl, rfl, heq, eq, acc.intro, well_founded.apply, acc.rec_on, psigma.mk, psigma.lex, psigma, well_founded, acc]), (psigma.lex_wf, [psigma.lex_wf._match_1, well_founded.intro, psigma.lex, psigma, well_founded]), (psigma.lex_wf._match_1, [well_founded.apply, psigma.lex_accessible, psigma.mk, id_rhs, psigma.cases_on, psigma.lex, acc, psigma, well_founded]), (psigma.mk, [psigma]), (psigma.rec, [psigma.mk, psigma]), (psigma.snd, [psigma.fst, psigma]), (punit, []), (punit.star, [punit]), (quadratic_reciprocity_aux.card_range_p_mul_q_filter_not_coprime, [finset.card_range, nat.mul_right_inj, finset.card_image_of_injective, trivial, dvd_mul_left, iff_true_intro, comm_semiring, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, congr, has_dvd, true, nat.le_add_right, iff.mp, nat.le_of_lt_succ, nat.mul_le_mul_left, comm_semigroup.to_semigroup, semigroup.to_has_mul, le_trans, nat.lt_succ_of_le, and.intro, nat.comm_semigroup, mul_comm, eq.subst, nat.zero_le, nat.lt_succ_self, nat.prime.pos, nat.div_lt_self, add_lt_add_left, nat.odd_mul_odd_div_two, nat.mul_succ, has_add.add, nat.succ_le_iff, nat.has_le, preorder.to_has_le, has_le.le, nat.ordered_semiring, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, lt_of_lt_of_le, eq.symm, ordered_semiring.to_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, lt_of_mul_lt_mul_left, Exists.intro, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, Exists.dcases_on, and.dcases_on, iff.intro, finset.mem_image, Exists, nat.decidable_dvd, not_not, nat.prime.coprime_iff_not_dvd, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, finset.mem_range, nat.has_lt, has_lt.lt, finset.mem_filter, propext, eq.refl, eq.rec, id, and, eq.mpr, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, finset, congr_arg, finset.image, eq.trans, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.succ, finset.range, nat.gcd, nat.decidable_eq, ne.decidable, nat.coprime, not, finset.filter, finset.card, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.filter_range_p_mul_q_div_two_eq, [nat.div_lt_self, nat.add_mul_mod_self_right, add_monoid.to_has_zero, gt, lt_add_of_pos_right, nat.zero_le, le_mul_of_ge_one_left', nat.add_sub_cancel', one_mul, monoid.to_has_one, monoid.to_semigroup, nat.mul_sub_right_distrib, eq.drec, decidable_eq, and.elim_right, iff_true_intro, finset.mem_insert, finset.range_succ, has_mem, finset.has_insert, insert, add_le_add_right, lt_of_le_of_lt, mul_assoc, nat.semigroup, absurd, nat.mod_eq_of_lt, dvd_mul_right, nat.dvd_add_iff_left, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring.to_semiring, nat.le_add_right, nat.sub_le_self, le_trans, nat.add_sub_cancel, nat.succ_eq_add_one, nat.add_succ, mul_pos, nat.sub_add_comm, nat.mul_sub_left_distrib, nat.succ_le_of_lt, mul_le_mul_left, nat.monoid, mul_one, add_comm_semigroup.to_add_semigroup, has_mul, mul_left_comm, comm_semigroup.to_semigroup, semigroup.to_has_mul, rfl, eq.mp, and.dcases_on, mul_zero_class.to_has_zero, add_lt_add_right, ordered_cancel_comm_monoid.to_partial_order, ordered_cancel_comm_monoid.to_add_comm_monoid, trans_rel_left, lt_of_lt_of_le, mul_add, distrib.to_has_mul, nat.distrib, distrib.to_has_add, nat.odd_mul_odd, nat.two_mul_odd_div_two, nat.has_sub, has_sub.sub, nat.mul_succ, of_as_true, mul_lt_mul_left, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, ordered_cancel_comm_monoid.to_ordered_comm_monoid, preorder.to_has_lt, eq.subst, or.elim, nat.mod_add_div, nat.prime.pos, nat.mod_lt, and.right, nat.prime.coprime_iff_not_dvd, nat.dvd_iff_mod_eq_zero, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, ne.def, nat.linear_order, le_of_not_gt, le_iff_exists_add, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, finset.mem_filter, and.left, iff.mp, nat.le_of_lt_succ, nat.odd_mul_odd_div_two, eq.symm, nat.le_of_add_le_add_left, add_right_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, nat.add_comm_semigroup, add_comm, nat.comm_semigroup, mul_comm, eq.rec, nat.lt_succ_of_le, trivial, eq_self_iff_true, propext, nat.mul_mod_right, nat.add_monoid, add_zero, eq.refl, has_add, has_mod, congr_arg, congr, eq.trans, id, true, eq.mpr, and.intro, finset.mem_erase, and, finset.mem_image, nat.has_le, has_le.le, id_rhs, false, Exists.dcases_on, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.decidable_lt, by_contradiction, nat.div_lt_of_lt_mul, finset.mem_range, nat.has_lt, has_lt.lt, Exists.intro, finset.mem_bind, Exists, finset.decidable_mem, or_iff_not_imp_right, not, finset.mem_union, or, iff.intro, finset.ext, finset.has_mem, has_mem.mem, iff, iff.mpr, nat.has_zero, has_zero.zero, finset.erase, has_add.add, finset.image, finset.bind, nat.decidable_eq, finset.has_union, has_union.union, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.coprime, finset.filter, finset, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_eq, [rfl, quadratic_reciprocity_aux.filter_range_p_mul_q_div_two_eq, finset.prod_congr, trivial, nat.decidable_lt, gt, of_as_true, nat.div_lt_self, lt_of_le_of_lt, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, and.intro, nat.div_mod_unique, and.left, eq.symm, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, finset.mem_bind, nat.lt_succ_iff, finset.inter_comm, has_mem, nat.has_le, has_le.le, finset.eq_empty_iff_forall_not_mem, nat.add_mul_div_left, nat.prime.pos, nat.div_eq_zero_iff, iff.mpr, nat.add_monoid, zero_add, eq.mp, exists_imp_distrib, and_imp, not_exists, imp_congr_eq, not_and, iff_false, finset.not_mem_empty, iff_false_intro, finset.mem_range, ne.def, finset.mem_erase, exists_prop, finset.mem_image, finset.mem_inter, false, Exists, and, forall_congr_eq, finset.ext, propext, iff, nat.has_lt, has_lt.lt, not, finset.prod_bind, finset.prod_union, eq.rec, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, add_right_cancel, finset.has_mem, has_mem.mem, finset.prod_image, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_right_cancel_semigroup, add_right_cancel_semigroup.to_add_semigroup, add_semigroup.to_has_add, funext, comm_monoid, has_mul, eq.refl, congr_arg, congr, id, eq.mpr, finset.image, finset.bind, finset.has_union, finset, has_union.union, eq.trans, nat.decidable, nat.coprime, finset.filter, nat.succ, has_add.add, nat.has_zero, has_zero.zero, nat.decidable_eq, finset.erase, nat.has_div, has_div.div, finset.range, nat.comm_monoid, finset.prod, nat.has_mul, has_mul.mul, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_eq_prod_product, [int.coe_nat_mul, pnat.mk_coe, nat.odd_mul_odd, not_true, imp_not_comm, nat.prime.gt_one, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, one_lt_mul, nat.succ_le_of_lt, nat.div_pos, of_as_true, nat.div_lt_self, lt_of_le_of_lt, fin.veq_of_eq, fin.eq_of_veq, and.right, dvd_refl, nat.not_coprime_of_dvd_of_dvd, zmod.eq_zero_iff_dvd_nat, zmod.le_div_two_iff_lt_neg, zmod.val_cast_of_lt, not_le, and.left, zmod.eq_iff_modeq_int, zmod.has_neg, int.modeq.modeq_and_modeq_iff_modeq_mul, zmodp.eq_iff_modeq_int, int.modeq, neg_neg, false.rec, prod.mk.inj_iff, zmodp.eq_iff_modeq_nat, nat.coprime_primes, nat.modeq.modeq_and_modeq_iff_modeq_mul, nat.modeq, nat.mod_eq_of_lt, zmod.comm_ring, zmod.has_one, zmod.has_zero, zmod, nat.dvd_iff_mod_eq_zero, zmodp.val_cast_nat, int.coe_nat_dvd, dvd_neg, int.normalization_domain, normalization_domain.to_integral_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, int.dvd_iff_mod_eq_zero, int.comm_semiring, int.coe_nat_zero, int.has_zero, zmodp.coe_val_cast_int, int.has_mod, int.coe_nat_inj', int.cast_neg, int.has_neg, add_monoid.to_add_semigroup, add_group.to_add_monoid, add_monoid.to_has_zero, int.cast_coe_nat, int.cast_coe, fin.is_lt, zmodp.le_div_two_iff_lt_neg, not_lt, preorder.to_has_lt, nat.linear_order, linear_order.to_partial_order, preorder.to_has_le, ring.to_add_comm_group, eq.mp, zmodp.eq_zero_iff_dvd_nat, ring.to_monoid, monoid.to_has_one, comm_ring.to_ring, ring.to_semiring, iff.refl, true.intro, not_congr, iff.trans, forall_true_iff, not_false_iff, and.elim_right, and.elim_left, iff_false_intro, finset.mem_product, nat.lt_succ_iff, imp_congr_ctx_eq, imp_congr_eq, ne.symm, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, quadratic_reciprocity_aux.card_range_p_mul_q_filter_not_coprime, dvd_zero, comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, or_true, iff_true_intro, finset.mem_insert, finset.range_succ, eq.drec, has_mem, nat.decidable_dvd, not_not, nat.prime.coprime_iff_not_dvd, funext, decidable_pred, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, finset.has_insert, insert, add_le_add_right, finset.card_union_le, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_trans, and.dcases_on, rfl, of_not_not, false, and.intro, absurd, not_and_distrib', iff.mp, or.dcases_on, nat.decidable_lt, and.decidable, or_iff_not_imp_left, iff.intro, ne.def, finset.mem_erase, nat.coprime_mul_iff_left, finset.mem_filter, finset.mem_union, forall_congr_eq, finset.ext, finset.union_comm, has_union, finset.union_assoc, or, iff, nat.add_succ, nat.odd_mul_odd_div_two, nat.succ_pred_eq_of_pos, nat.succ_mul, add_assoc, eq.symm, nat.add_semigroup, add_semigroup.to_has_add, nat.pred_succ, finset.card_range, nat.succ_pos, finset.mem_range, iff.mpr, finset.card_erase_of_mem, nat.pred, finset.card_product, eq.rec, finset.has_union, has_union.union, trans_rel_right, nat.gcd, ne.decidable, trans_rel_left, finset.card, has_add.add, nat.le_of_add_le_add_right, finset.surj_on_of_inj_on_of_card_le, prod.snd_neg, neg_inj', prod.fst_neg, if_neg, not, trivial, and_self, eq_self_iff_true, prod.ext_iff, propext, zmodp.cast_val, eq.refl, and, eq.trans, true, has_lift_t, if_pos, congr_arg, congr, id, eq.mpr, dite, finset.prod_bij, finset.has_mem, finset, has_mem.mem, has_lt.lt, int.has_mul, nat.ordered_semiring, mul_pos, coe_subtype, subtype, int.has_coe, int, prod.snd, prod.fst, nat.decidable_eq, finset.erase, finset.product, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, prod.has_neg, has_neg.neg, prod.mk, nat.decidable_le, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, nat.has_le, has_le.le, ite, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.has_mul, has_mul.mul, nat.coprime, finset.filter, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, prod.comm_monoid, finset.prod, zmodp, prod, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_mod_p_eq, [trivial, eq_self_iff_true, propext, mul_zero, finset.range_succ, eq.drec, decidable_eq, finset.card_range, has_pow, finset.prod_const, zmodp.prod_range_prime_erase_zero, add_zero, zero_mul, zmodp.cast_self_eq_zero, has_add, nat.cast_add, comm_ring.to_ring, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_monoid.to_has_zero, finset.card, finset.has_insert, insert, comm_monoid.to_monoid, true, finset.has_mem, has_mem.mem, finset, finset.prod_congr, has_mul, congr_arg, congr, eq.trans, add_group.to_add_monoid, nat.cast_one, finset.prod_hom, nat.cast_mul, semiring.to_distrib, semiring.to_monoid, monoid.to_has_one, mul_zero_class.to_has_zero, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_eq, eq.symm, eq.refl, eq.rec, id, has_add.add, eq.mpr, nat.has_zero, has_zero.zero, nat.decidable_eq, finset.erase, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_monoid, monoid.has_pow, has_pow.pow, no_zero_divisors.to_has_mul, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.coprime, finset.filter, nat.comm_monoid, finset.prod, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_filter_range_p_mul_q_not_coprime_eq, [nat.pred_succ, finset.card_range, nat.succ_pos, finset.card_erase_of_mem, nat.pred, nat.decidable_dvd, not_not, funext, decidable_pred, false_and, has_dvd, and_false, dvd_zero, zero_le, canonically_ordered_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, canonically_ordered_comm_semiring.to_canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, has_le, nat.pos_of_ne_zero, nat.div_mul_cancel, nat.div_le_div_right, add_comm, nat.add_mul_div_left, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, nat.lt_succ_self, nat.div_eq_zero_iff, zero_add, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.div_pos, iff.mp, Exists, Exists.intro, imp_self, nat.mul_right_inj, nat.inhabited, forall_const, forall_true_iff, eq_self_iff_true, has_lift_t, semiring.to_distrib, semiring.to_monoid, monoid.to_has_one, mul_zero_class.to_has_zero, finset.mem_insert, finset.range_succ, eq.drec, decidable_eq, has_mem, finset.has_insert, insert, imp_congr_eq, forall_congr_eq, rfl, nat.lt_succ_iff, finset.mem_erase, eq.mp, and.dcases_on, ne.def, nat.pos_iff_ne_zero, not_false_iff, not_true, dvd_mul_left, iff_true_intro, comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, false, true, nat.coprime_primes, and.right, nat.le_of_dvd, trivial, nat.decidable_lt, of_as_true, nat.prime.pos, nat.div_lt_self, not_le_of_gt, not_or_distrib, nat.prime.dvd_mul, or, nat.prime.coprime_iff_not_dvd, propext, nat.comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.le_add_right, nat.odd_mul_odd_div_two, has_add.add, and.left, nat.mul_le_mul_left, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, preorder.to_has_le, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_trans, nat.lt_succ_of_le, finset.mem_range, has_lt.lt, and.intro, finset.mem_filter, iff.mpr, nat.has_lt, gt, nat.has_le, has_le.le, and, finset.has_mem, finset, has_mem.mem, finset.prod_bij, ring.to_semiring, nat.cast_mul, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, nat.cast_one, finset.prod_hom, finset.prod_mul_distrib, monoid.to_semigroup, semigroup.to_has_mul, finset.prod_const, comm_monoid.to_monoid, eq.symm, eq.rec, has_mul, eq.refl, congr_arg, congr, eq.trans, id, eq.mpr, finset.card, nat.has_zero, has_zero.zero, finset.erase, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, ring.to_monoid, monoid.has_pow, has_pow.pow, no_zero_divisors.to_has_mul, nat.has_mul, has_mul.mul, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.gcd, nat.decidable_eq, ne.decidable, nat.coprime, not, finset.filter, nat.comm_monoid, finset.prod, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_range_div_two_erase_zero, [nat.pred_succ, finset.card_range, nat.succ_pos, finset.card_erase_of_mem, nat.pred, of_as_true, nat.div_lt_self, monoid.to_has_one, mul_zero_class.to_has_zero, nat.lt_succ_iff, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, lt_of_le_of_lt, funext, decidable_pred, eq.mp, not_le, zmodp.val_cast_of_lt, not_false_iff, and.left, zmodp.zero_val, fin.ne_of_vne, nat.lt_succ_of_le, neg_ne_zero, add_group.to_add_monoid, add_monoid.to_has_zero, Exists, Exists.intro, fin.eq_of_veq, neg_inj, fin.veq_of_eq, nat.inhabited, forall_const, forall_true_iff, mul_one, has_neg, mul_neg_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, finset.mem_insert, finset.range_succ, eq.drec, decidable_eq, has_mem, finset.has_insert, insert, and.right, iff_true_intro, not_lt, preorder.to_has_lt, neg_neg, has_lt, zmodp.le_div_two_iff_lt_neg, zmodp.cast_val, fin, has_le, comm_ring.to_ring, ring.to_add_comm_group, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, fin.is_lt, fin.vne_of_ne, finset.prod_bij, neg_inj', zmodp.prod_range_prime_erase_zero, absurd, not_and_distrib', iff.mp, nat.decidable_lt, ne.decidable, and.decidable, or_iff_not_imp_left, iff.mpr, and.intro, and.dcases_on, or.dcases_on, iff.intro, finset.mem_union, or, finset.prod_congr, rfl, and_imp, not_not, imp_congr_eq, not_and, iff_false, finset.not_mem_empty, iff_false_intro, finset.mem_range, ne.def, finset.mem_erase, finset.mem_filter, finset.mem_inter, false, forall_congr_eq, finset.ext, iff, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, finset.prod_union, eq.symm, finset.has_union, has_union.union, trivial, eq_self_iff_true, propext, has_pow, finset.prod_const, mul_assoc, pow_two, has_mul, congr_arg, congr, true, finset.prod_mul_distrib, eq.refl, eq.rec, id, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, eq.mpr, eq.trans, not.decidable, not, and, finset.has_mem, has_mem.mem, nat.decidable_le, nat.prime.pos, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, nat.has_le, has_le.le, finset.filter, finset, nat.has_lt, has_lt.lt, finset.card, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, nat.has_zero, has_zero.zero, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable_eq, finset.erase, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, finset.prod, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, zmodp, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_range_p_mul_q_div_two_ite_eq, [ne.symm, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, quadratic_reciprocity_aux.prod_range_p_mul_q_filter_coprime_mod_p, nat.cast_mul, add_group.to_add_monoid, nat.cast_one, finset.prod_hom, nat.comm_monoid, finset.prod_prod_mk, prod.snd, prod.fst, finset.prod_mul_distrib, eq.rec, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, neg_inj', prod.add_group, has_neg, neg_mul_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, prod.ring, ring.to_add_comm_group, if_neg, not, trivial, and_self, eq_self_iff_true, prod.mk.inj_iff, propext, prod.monoid, one_mul, and, true, eq.refl, has_mul, if_pos, congr_arg, congr, id, eq.mpr, dite, finset.has_mem, has_mem.mem, finset, rfl, finset.prod_congr, eq.trans, ring.to_monoid, monoid.has_pow, has_pow.pow, prod.has_one, no_zero_divisors.to_has_mul, prod.has_mul, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, prod.has_neg, has_neg.neg, prod.mk, nat.decidable_le, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, nat.has_le, has_le.le, ite, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.has_mul, has_mul.mul, nat.coprime, finset.filter, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, prod.comm_monoid, finset.prod, zmodp, prod, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.prod_range_p_mul_q_filter_coprime_mod_p, [nat.coprime_primes, nat.prime.coprime_iff_not_dvd, nat.comm_semiring, nat.modeq.modeq_zero_iff, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, nat.inhabited, forall_const, forall_true_iff, not_false_iff, and_false, not_true, true.intro, and.elim_right, nat.coprime.coprime_mul_left, true_and, and.elim_left, iff_true_intro, imp_congr_ctx_eq, iff_false, finset.not_mem_empty, iff_false_intro, finset.mem_inter, has_inter, neg_neg, neg_mul_eq_neg_mul_symm, has_neg, mul_neg_eq_neg_mul_symm, ring.to_add_comm_group, trivial, eq_self_iff_true, one_mul, mul_one, decidable_eq, has_mul, true, zmodp.pow_div_two_eq_neg_one_or_one, quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_mod_p_eq, false, not_or_distrib, not_and_distrib', nat.decidable_lt, or.decidable, and.decidable, rfl, absurd, or_iff_not_imp_left, iff.mpr, and.intro, and.dcases_on, or.dcases_on, iff.intro, nat.coprime_mul_iff_left, finset.mem_insert, finset.mem_filter, finset.mem_union, finset.ext, finset.range_succ, eq.drec, decidable_pred, has_union, finset.has_insert, insert, or, iff, finset.prod_congr, finset.prod_union, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, nat.cast_mul, mul_zero_class.to_has_mul, semiring.to_distrib, semiring.to_monoid, quadratic_reciprocity_aux.prod_filter_range_p_mul_q_not_coprime_eq, finset.has_union, has_union.union, finset.has_emptyc, has_emptyc.emptyc, nat.gcd, ne.decidable, finset.has_inter, has_inter.inter, nat.lt_succ_self, nat.prime.pos, nat.div_lt_self, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_of_le_of_lt, nat.mod_eq_of_lt, nat.zero_mod, nat.modeq.equations._eqn_1, zmodp.eq_iff_modeq_nat, monoid.to_has_one, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.modeq, nat.cast_zero, eq.symm, eq.rec, and_imp, not_and, forall_congr_eq, not_exists, eq.refl, nat.lt_succ_iff, finset.mem_range, nat.has_lt, has_lt.lt, finset.mem_erase, congr, exists_prop, funext, finset.prod_eq_zero_iff, propext, finset.has_mem, finset, has_mem.mem, integral_domain.to_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, congr_arg, ne.def, Exists, and, eq.trans, id, integral_domain.to_no_zero_divisors, eq.mpr, nat.has_le, has_le.le, not, pow_ne_zero, field.to_integral_domain, mul_ne_zero, domain.mul_right_inj, nat.has_zero, nat.decidable_eq, finset.erase, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, iff.mp, has_zero.zero, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_monoid, monoid.has_pow, has_pow.pow, no_zero_divisors.to_has_mul, nat.has_div, has_div.div, nat.succ, finset.range, nat.decidable, nat.has_mul, has_mul.mul, nat.coprime, finset.filter, nat.comm_monoid, finset.prod, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quadratic_reciprocity_aux.range_p_product_range_q_div_two_prod, [nat.pred_succ, nat.succ_pos, neg_inj', one_pow, neg_neg, mul_one, mul_neg_eq_neg_mul_symm, pow_two, two_mul, semiring.to_monoid, monoid.to_has_one, semiring.to_distrib, nat.semiring, pow_add, has_add.add, neg_mul_eq_neg_mul, quadratic_reciprocity_aux.prod_range_div_two_erase_zero, zero_ne_one, zero_ne_one_class.to_has_zero, ne.symm, neg_ne_zero, add_group.to_add_monoid, add_monoid.to_has_zero, pow_ne_zero, domain.mul_right_inj, iff.mp, one_mul, has_neg, neg_mul_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, ring.to_add_comm_group, mul_pow, monoid.to_semigroup, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, pow_mul, nat.two_mul_odd_div_two, eq.symm, nat.pred_eq_sub_one, nat.has_sub, has_sub.sub, finset.card_range, nat.prime.pos, finset.mem_range, nat.has_lt, has_lt.lt, iff.mpr, finset.card_erase_of_mem, eq.rec, nat.pred, trivial, and_self, eq_self_iff_true, prod.mk.inj_iff, propext, zmodp.prod_range_prime_erase_zero, finset.prod_pow, has_pow, finset.prod_const, finset.has_mem, has_mem.mem, finset, eq.refl, finset.prod_congr, finset.prod_product, finset.prod_prod_mk, congr_arg, congr, comm_monoid.to_monoid, and, eq.trans, id, true, eq.mpr, finset.card, nat.has_mul, no_zero_divisors.to_has_mul, has_mul.mul, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, ring.to_monoid, monoid.has_pow, has_pow.pow, prod.snd, prod.fst, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, prod.mk, nat.has_div, has_div.div, nat.succ, nat.has_zero, has_zero.zero, finset.range, nat.decidable_eq, finset.erase, finset.product, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, prod.comm_monoid, finset.prod, zmodp, prod, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (quot, []), (quot.exists_rep, [rfl, Exists.intro, quot.induction_on, quot.mk, eq, Exists, quot]), (quot.ind, [quot.mk, quot]), (quot.indep, [psigma.mk, psigma, quot.mk, quot]), (quot.indep_coherent, [psigma.eq, quot.indep, psigma, quot.sound, eq.rec, eq, quot.mk, quot]), (quot.induction_on, [quot.ind, quot.mk, quot]), (quot.lift, [quot, eq]), (quot.lift_indep_pr1, [eq.refl, quot.ind, quot.indep_coherent, quot.indep, psigma, quot.lift, psigma.fst, quot.sound, eq.rec, eq, quot.mk, quot]), (quot.lift_on, [quot.lift, eq, quot]), (quot.mk, [quot]), (quot.out, [quot.exists_rep, quot.mk, eq, classical.some, quot]), (quot.out_eq, [quot.exists_rep, classical.some_spec, quot.out, quot.mk, eq, quot]), (quot.rec, [psigma.snd, quot.lift_indep_pr1, quot.indep_coherent, quot.indep, psigma, quot.lift, psigma.fst, eq.rec_on, quot.sound, eq.rec, eq, quot.mk, quot]), (quot.rec_on, [quot.rec, quot.sound, eq.rec, eq, quot.mk, quot]), (quot.rec_on_subsingleton, [quot.rec_on_subsingleton._proof_1, quot.rec, quot.mk, subsingleton, quot]), (quot.rec_on_subsingleton._proof_1, [subsingleton.elim, quot.sound, eq.rec, eq, quot.mk, subsingleton, quot]), (quot.sound, [quot.mk, quot, eq]), (quotient, [setoid.r, quot, setoid]), (quotient.eq', [quotient.eq, setoid.r, quotient.mk', quotient, eq, iff, setoid]), (quotient.eq, [quotient.sound, quotient.exact, iff.intro, setoid_has_equiv, has_equiv.equiv, quotient.mk, quotient, eq, iff, setoid]), (quotient.exact, [_private.1695653797.eq_imp_rel, setoid_has_equiv, has_equiv.equiv, quotient.mk, quotient, eq, setoid]), (quotient.ind, [setoid.r, quot.ind, quotient.mk, quotient, setoid]), (quotient.induction_on₂, [quotient.ind, quotient.mk, quotient, setoid]), (quotient.induction_on₃, [quotient.ind, quotient.mk, quotient, setoid]), (quotient.lift, [quot.lift, quotient, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (quotient.lift_on₂, [quotient.lift₂, eq, setoid_has_equiv, has_equiv.equiv, quotient, setoid]), (quotient.lift₂, [quotient.lift₂._proof_2, quotient.lift₂._proof_1, quotient.lift, quotient, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (quotient.lift₂._proof_1, [setoid.refl, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (quotient.lift₂._proof_2, [quotient.ind, setoid.refl, quotient.lift, quotient, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (quotient.mk', [setoid.r, quot.mk, quotient, setoid]), (quotient.mk, [setoid.r, quot.mk, quotient, setoid]), (quotient.out', [quotient.out, quotient, setoid]), (quotient.out, [setoid.r, quot.out, quotient, setoid]), (quotient.out_eq', [quotient.out_eq, quotient.out', quotient.mk', eq, quotient, setoid]), (quotient.out_eq, [setoid.r, quot.out_eq, quotient.out, quotient.mk, eq, quotient, setoid]), (quotient.rec_on_subsingleton, [setoid.r, quot.rec_on_subsingleton, quotient.mk, subsingleton, quotient, setoid]), (quotient.rec_on_subsingleton₂, [quotient.rec_on_subsingleton₂._proof_2, quotient.rec_on_subsingleton₂._proof_1, quotient.rec_on_subsingleton, quotient.mk, subsingleton, quotient, setoid]), (quotient.rec_on_subsingleton₂._proof_1, [quotient.ind, quotient.mk, subsingleton, quotient, setoid]), (quotient.rec_on_subsingleton₂._proof_2, [quotient.mk, subsingleton, quotient, setoid]), (quotient.sound, [quot.sound, quotient.mk, quotient, eq, setoid_has_equiv, has_equiv.equiv, setoid]), (quotient_group.eq, [quotient_group.left_rel, quotient.eq', group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, set.has_mem, has_mem.mem, quotient_group.has_coe, coe_base, coe_to_lift, coe, quotient_group.quotient, eq, iff, is_subgroup, set, group]), (quotient_group.eq_class_eq_left_coset, [iff.refl, quotient_group.eq, eq_comm, set.mem_set_of_eq, mem_left_coset_iff, propext, eq.refl, eq.rec, id, group.to_has_inv, has_inv.inv, has_mul.mul, set.has_mem, has_mem.mem, iff, eq.mpr, set.ext, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, left_coset, quotient_group.has_coe, coe_base, coe_to_lift, coe, quotient_group.quotient, set_of, eq, is_subgroup, set, group]), (quotient_group.has_coe, [quotient_group.mk, has_coe.mk, quotient_group.quotient, has_coe, is_subgroup, set, group]), (quotient_group.inhabited, [group.to_monoid, monoid.to_has_one, has_one.one, quotient_group.has_coe, coe_base, coe_to_lift, coe, inhabited.mk, quotient_group.quotient, inhabited, is_subgroup, set, group]), (quotient_group.left_rel, [quotient_group.left_rel._proof_1, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, set.has_mem, has_mem.mem, setoid.mk, setoid, is_subgroup, set, group]), (quotient_group.left_rel._proof_1, [is_submonoid.mul_mem, mul_inv_cancel_left, mul_assoc, is_subgroup.inv_mem, inv_inv, has_mul, mul_inv_rev, eq.mp, trivial, is_subgroup.to_is_submonoid, is_submonoid.one_mem, iff_true_intro, is_submonoid, monoid, propext, eq.refl, mul_left_inv, congr_arg, congr, has_mem, monoid.to_has_one, has_one.one, eq.trans, eq, id, true, eq.mpr, and.intro, transitive, symmetric, group.to_has_inv, has_inv.inv, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, set.has_mem, has_mem.mem, reflexive, and, is_subgroup, set, group]), (quotient_group.mk, [quotient_group.left_rel, quotient.mk', quotient_group.quotient, is_subgroup, set, group]), (quotient_group.quotient, [quotient_group.left_rel, quotient, is_subgroup, set, group]), (reflexive, []), (relator.bi_total, [relator.right_total, relator.left_total, and, out_param]), (relator.left_total, [Exists, out_param]), (relator.lift_fun, []), (relator.rel_forall_of_total, [iff.mpr, and.left, iff.mp, relator.right_total, relator.left_total, and.right, exists.elim, iff.intro, iff, relator.lift_fun, relator.bi_total]), (relator.rel_not, [not_congr, not, iff, relator.lift_fun]), (relator.right_total, [Exists, out_param]), (rfl, [eq.refl, eq]), (right_cancel_semigroup, []), (right_cancel_semigroup.mk, [right_cancel_semigroup, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, eq]), (right_cancel_semigroup.mul, [right_cancel_semigroup]), (right_cancel_semigroup.mul_assoc, [right_cancel_semigroup.mul, has_mul.mk, has_mul.mul, eq, right_cancel_semigroup]), (right_cancel_semigroup.mul_right_cancel, [right_cancel_semigroup.mul_assoc, right_cancel_semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, right_cancel_semigroup]), (right_cancel_semigroup.to_semigroup, [right_cancel_semigroup.mul_assoc, right_cancel_semigroup.mul, semigroup.mk, semigroup, right_cancel_semigroup]), (right_comm, [eq.symm, rfl, eq, eq.subst, eq.trans, right_commutative, associative, commutative]), (right_commutative, [eq]), (right_distrib, [distrib.right_distrib, distrib.to_has_add, has_add.add, distrib.to_has_mul, has_mul.mul, eq, distrib]), (ring, []), (ring.add, [ring]), (ring.add_assoc, [ring.add, has_add.mk, has_add.add, eq, ring]), (ring.add_comm, [ring.add_assoc, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring]), (ring.add_left_neg, [add_monoid.to_has_zero, has_zero.zero, ring.neg, has_neg.mk, has_neg.neg, ring.add_zero, ring.zero_add, ring.zero, ring.add_assoc, ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, ring]), (ring.add_zero, [ring.zero, has_zero.mk, has_zero.zero, ring.add_assoc, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring]), (ring.left_distrib, [ring.add, has_add.mk, has_add.add, ring.mul, has_mul.mk, has_mul.mul, eq, ring]), (ring.mk, [ring, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, add_monoid.to_has_zero, has_neg.mk, has_neg.neg, add_monoid.mk, add_monoid.to_add_semigroup, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (ring.mul, [ring]), (ring.mul_assoc, [ring.mul, has_mul.mk, has_mul.mul, eq, ring]), (ring.mul_one, [ring.one, has_one.mk, has_one.one, ring.mul_assoc, ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ring]), (ring.mul_zero, [left_distrib, eq.rec, trivial, eq_self_iff_true, propext, eq.refl, has_mul, add_zero, congr_arg, congr, id, true, eq.mpr, eq.trans, add_group.to_left_cancel_add_semigroup, add_left_cancel, eq.symm, distrib.to_has_add, has_add.add, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ring.to_distrib, distrib.to_has_mul, has_mul.mul, eq, ring]), (ring.neg, [ring]), (ring.one, [ring]), (ring.one_mul, [ring.one, has_one.mk, has_one.one, ring.mul_assoc, ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, ring]), (ring.right_distrib, [ring.add, has_add.mk, has_add.add, ring.mul, has_mul.mk, has_mul.mul, eq, ring]), (ring.to_add_comm_group, [ring.add_comm, ring.add_left_neg, ring.neg, ring.add_zero, ring.zero_add, ring.zero, ring.add_assoc, ring.add, add_comm_group.mk, add_comm_group, ring]), (ring.to_distrib, [ring.right_distrib, ring.left_distrib, ring.add, ring.mul, distrib.mk, distrib, ring]), (ring.to_module, [ring.to_module._proof_4, ring.to_module._proof_3, ring.to_module._proof_2, ring.to_module._proof_1, ring.to_add_comm_group, semiring.to_semimodule, ring.to_semiring, semimodule.to_has_scalar, module.mk, module, ring]), (ring.to_module._proof_1, [semimodule.smul_add, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, semiring.to_semimodule, ring.to_semiring, semimodule.to_has_scalar, has_scalar.smul, eq, ring]), (ring.to_module._proof_2, [semimodule.add_smul, semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, semiring.to_distrib, distrib.to_has_add, has_add.add, semiring.to_semimodule, ring.to_semiring, semimodule.to_has_scalar, has_scalar.smul, eq, ring]), (ring.to_module._proof_3, [semimodule.mul_smul, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_semimodule, ring.to_semiring, semimodule.to_has_scalar, has_scalar.smul, eq, ring]), (ring.to_module._proof_4, [semimodule.one_smul, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_semimodule, ring.to_semiring, semimodule.to_has_scalar, has_scalar.smul, eq, ring]), (ring.to_monoid, [ring.mul_one, ring.one_mul, ring.one, ring.mul_assoc, ring.mul, monoid.mk, monoid, ring]), (ring.to_semiring, [ring.mul_zero, ring.zero_mul, ring.right_distrib, ring.left_distrib, ring.mul_one, ring.one_mul, ring.one, ring.mul_assoc, ring.mul, ring.add_comm, ring.add_zero, ring.zero_add, ring.zero, ring.add_assoc, ring.add, semiring.mk, semiring, ring]), (ring.zero, [ring]), (ring.zero_add, [ring.zero, has_zero.mk, has_zero.zero, ring.add_assoc, ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, ring]), (ring.zero_mul, [right_distrib, eq.rec, trivial, eq_self_iff_true, propext, eq.refl, has_mul, add_zero, congr_arg, congr, id, true, eq.mpr, eq.trans, add_group.to_left_cancel_add_semigroup, add_left_cancel, eq.symm, distrib.to_has_add, has_add.add, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ring.to_distrib, distrib.to_has_mul, has_mul.mul, eq, ring]), (semigroup, []), (semigroup.mk, [semigroup, has_mul.mk, has_mul.mul, eq]), (semigroup.mul, [semigroup]), (semigroup.mul_assoc, [semigroup.mul, has_mul.mk, has_mul.mul, eq, semigroup]), (semigroup.to_has_mul, [semigroup.mul, has_mul.mk, has_mul, semigroup]), (semigroup_to_is_associative, [mul_assoc, is_associative.mk, semigroup.to_has_mul, has_mul.mul, is_associative, semigroup]), (semimodule, [semiring, out_param]), (semimodule.add_smul, [semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, semiring.to_distrib, distrib.to_has_add, has_add.add, semimodule.to_has_scalar, has_scalar.smul, eq, semimodule, semiring]), (semimodule.mk, [semimodule, add_monoid.to_has_zero, mul_zero_class.to_has_zero, has_zero.zero, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, semiring.to_distrib, distrib.to_has_add, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, has_scalar.smul, eq, add_comm_monoid, has_scalar, semiring, out_param]), (semimodule.mul_smul, [semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, semimodule.to_has_scalar, has_scalar.smul, eq, semimodule, semiring]), (semimodule.one_smul, [semiring.to_monoid, monoid.to_has_one, has_one.one, semimodule.to_has_scalar, has_scalar.smul, eq, semimodule, semiring]), (semimodule.smul_add, [semimodule.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, semimodule.to_has_scalar, has_scalar.smul, eq, semimodule, semiring]), (semimodule.to_add_comm_monoid, [add_comm_monoid, semimodule, semiring]), (semimodule.to_has_scalar, [has_scalar, semimodule, semiring]), (semiring, []), (semiring.add, [semiring]), (semiring.add_assoc, [semiring.add, has_add.mk, has_add.add, eq, semiring]), (semiring.add_comm, [semiring.add_assoc, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring]), (semiring.add_zero, [semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring]), (semiring.left_distrib, [semiring.add, has_add.mk, has_add.add, semiring.mul, has_mul.mk, has_mul.mul, eq, semiring]), (semiring.mk, [semiring, has_one.mk, has_one.one, semigroup.mk, semigroup.to_has_mul, has_mul.mk, has_mul.mul, has_zero.mk, has_zero.zero, add_semigroup.mk, add_semigroup.to_has_add, has_add.mk, has_add.add, eq]), (semiring.mul, [semiring]), (semiring.mul_assoc, [semiring.mul, has_mul.mk, has_mul.mul, eq, semiring]), (semiring.mul_one, [semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, semiring]), (semiring.mul_zero, [semiring.zero, has_zero.mk, has_zero.zero, semiring.mul, has_mul.mk, has_mul.mul, eq, semiring]), (semiring.one, [semiring]), (semiring.one_mul, [semiring.one, has_one.mk, has_one.one, semiring.mul_assoc, semiring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, semiring]), (semiring.right_distrib, [semiring.add, has_add.mk, has_add.add, semiring.mul, has_mul.mk, has_mul.mul, eq, semiring]), (semiring.to_add_comm_monoid, [semiring.add_comm, semiring.add_zero, semiring.zero_add, semiring.zero, semiring.add_assoc, semiring.add, add_comm_monoid.mk, add_comm_monoid, semiring]), (semiring.to_distrib, [semiring.right_distrib, semiring.left_distrib, semiring.add, semiring.mul, distrib.mk, distrib, semiring]), (semiring.to_monoid, [semiring.mul_one, semiring.one_mul, semiring.one, semiring.mul_assoc, semiring.mul, monoid.mk, monoid, semiring]), (semiring.to_mul_zero_class, [semiring.mul_zero, semiring.zero_mul, semiring.zero, semiring.mul, mul_zero_class.mk, mul_zero_class, semiring]), (semiring.to_semimodule, [semiring.to_semimodule._proof_6, semiring.to_semimodule._proof_5, semiring.to_semimodule._proof_4, semiring.to_semimodule._proof_3, semiring.to_semimodule._proof_2, semiring.to_semimodule._proof_1, semiring.add_comm, semiring.add_zero, semiring.zero_add, semiring.zero, semiring.add_assoc, semiring.add, add_comm_monoid.mk, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, has_scalar.mk, semimodule.mk, semimodule, semiring]), (semiring.to_semimodule._proof_1, [mul_add, distrib.to_has_add, has_add.add, semiring.to_distrib, distrib.to_has_mul, has_mul.mul, eq, semiring]), (semiring.to_semimodule._proof_2, [add_mul, distrib.to_has_add, has_add.add, semiring.to_distrib, distrib.to_has_mul, has_mul.mul, eq, semiring]), (semiring.to_semimodule._proof_3, [mul_assoc, semiring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, semiring]), (semiring.to_semimodule._proof_4, [one_mul, monoid.to_has_one, has_one.one, semiring.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, semiring]), (semiring.to_semimodule._proof_5, [zero_mul, mul_zero_class.to_has_zero, has_zero.zero, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring]), (semiring.to_semimodule._proof_6, [mul_zero, mul_zero_class.to_has_zero, has_zero.zero, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring]), (semiring.zero, [semiring]), (semiring.zero_add, [semiring.zero, has_zero.mk, has_zero.zero, semiring.add_assoc, semiring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, semiring]), (semiring.zero_mul, [semiring.zero, has_zero.mk, has_zero.zero, semiring.mul, has_mul.mk, has_mul.mul, eq, semiring]), (set, []), (set.card_fintype_insert', [add_left_inj, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_add_left_cancel_semigroup, add_left_cancel_semigroup.to_add_semigroup, propext, set.set_coe_eq_subtype, add_comm, multiset.card_map, has_add, multiset.card_cons, finset.card.equations._eqn_1, eq.drec, set.to_finset.equations._eqn_1, set.to_finset._proof_1, finset, multiset.nodup, multiset, subtype.val, multiset.map, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, congr_arg, congr, eq.trans, subtype, finset.univ, multiset.card, set.card_fintype_of_finset, finset.card, set.fintype_insert'.equations._eqn_1, eq.refl, eq.rec, id, set.fintype_insert'._proof_2, set.fintype_insert'._proof_1, set.to_finset, finset.val, multiset.cons, finset.mk, set.fintype_of_finset, eq.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, set.fintype_insert', set.has_insert, insert, fintype.card, nat, eq, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.card_fintype_of_finset', [fintype.subsingleton, subsingleton.elim, congr, eq.drec, eq.trans, set.card_fintype_of_finset, eq.symm, eq.refl, eq.rec, id, set.fintype_of_finset, eq.mpr, finset.card, fintype.card, nat, eq, set.has_coe_to_sort, coe_sort, fintype, set.has_mem, finset.has_mem, has_mem.mem, iff, finset, set]), (set.card_fintype_of_finset, [fintype.subtype_card, finset.card, set.fintype_of_finset, set.has_coe_to_sort, coe_sort, fintype.card, nat, eq, set.has_mem, finset.has_mem, has_mem.mem, iff, finset, set]), (set.card_insert, [fintype.subsingleton, subsingleton.elim, congr, eq.drec, eq.trans, set.card_fintype_insert', eq.symm, eq.refl, eq.rec, id, set.fintype_insert', eq.mpr, nat.has_one, has_one.one, nat.has_add, has_add.add, fintype.card, nat, eq, set.has_insert, insert, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.card_le_of_subset, [eq.symm, true.intro, iff.mpr, set.subset_def, eq.mp, iff_true_intro, finset.card_le_of_subset, trivial, forall_true_iff, iff_self, eq.refl, set.mem_to_finset, propext, congr_arg, congr, forall_congr_eq, eq.trans, eq, id, true, set.has_mem, finset.has_mem, finset, has_mem.mem, iff, eq.mpr, set.card_fintype_of_finset', trans_rel_right, set.to_finset, finset.card, trans_rel_left, fintype.card, nat.has_le, nat, has_le.le, set.has_subset, has_subset.subset, set.has_coe_to_sort, coe_sort, fintype, set]), (set.card_lt_card, [finset.coe_to_finset', eq.symm, finset.coe_ssubset, propext, finset.has_ssubset, finset.has_lift, lift_base, finset, coe, eq.mp, classical.prop_decidable, finset.card_lt_card, set.mem_to_finset, set.card_fintype_of_finset', eq.refl, eq.rec, eq, id, set.to_finset, finset.card, eq.mpr, fintype.card, nat.has_lt, nat, has_lt.lt, set.has_ssubset, has_ssubset.ssubset, set.has_coe_to_sort, coe_sort, fintype, set]), (set.decidable_mem, [set.has_mem, has_mem.mem, decidable, decidable_pred, set]), (set.decidable_mem_of_fintype, [finset.decidable_mem, set.mem_to_finset, set.to_finset, finset.has_mem, finset, decidable_of_iff, set.has_mem, has_mem.mem, decidable, set.has_coe_to_sort, coe_sort, fintype, set, decidable_eq]), (set.decidable_set_of, [set_of, decidable_pred]), (set.eq_of_subset_of_card_le, [ne, and.intro, set.card_lt_card, set.card_le_of_subset, le_antisymm, eq.refl, eq.rec, eq.mp, nat.has_lt, has_lt.lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, lt_irrefl, not, classical.by_contradiction, eq, fintype.card, nat.has_le, nat, has_le.le, set.has_subset, has_subset.subset, set.has_coe_to_sort, coe_sort, fintype, set]), (set.eq_univ_iff_forall, [trivial, iff_self, iff_true, set.mem_univ, iff_true_intro, eq.refl, forall_congr_eq, set.ext_iff, propext, congr_arg, congr, eq.trans, id, true, eq.mpr, set.has_mem, has_mem.mem, set.univ, eq, iff, set]), (set.ext, [propext, funext, eq, set.has_mem, has_mem.mem, iff, set]), (set.ext_iff, [set.ext, iff.refl, eq.refl, eq.rec, id, eq.mpr, iff.intro, set.has_mem, has_mem.mem, eq, iff, set]), (set.finite, [set.has_coe_to_sort, coe_sort, fintype, nonempty, set]), (set.finite.fintype, [classical.choice, set.has_coe_to_sort, coe_sort, fintype, set.finite, set]), (set.finite.mem_to_finset, [set.finite.fintype, set.mem_to_finset, set.has_mem, set.finite.to_finset, finset.has_mem, finset, has_mem.mem, iff, set.finite, set]), (set.finite.to_finset, [set.finite.fintype, set.to_finset, finset, set.finite, set]), (set.finite_mem_finset, [iff.rfl, set.fintype_of_finset, set.has_coe_to_sort, set, coe_sort, fintype, nonempty.intro, finset.has_mem, has_mem.mem, set_of, set.finite, finset]), (set.finite_of_finite_image, [function.partial_inv_of_injective, function.partial_inv, classical.dec_eq, set.fintype_of_fintype_image, nonempty.intro, nonempty, id_rhs, set.has_coe_to_sort, coe_sort, fintype, nonempty.dcases_on, set.image, set.finite, function.injective, set]), (set.finite_subset, [classical.dec_pred, set.fintype_subset, nonempty.intro, nonempty, id_rhs, set.has_coe_to_sort, coe_sort, fintype, nonempty.dcases_on, set.has_subset, has_subset.subset, set.finite, set]), (set.fintype_insert', [set.fintype_insert'._proof_2, set.fintype_insert'._proof_1, set.to_finset, finset.val, multiset.cons, finset.mk, set.fintype_of_finset, set.has_insert, insert, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_insert'._proof_1, [finset.nodup, trivial, not_false_iff, iff_false_intro, set.mem_to_finset_val, propext, congr_arg, false, eq.trans, eq, id, true, multiset.has_mem, multiset, eq.mpr, multiset.nodup_cons_of_nodup, set.to_finset, finset.val, multiset.cons, multiset.nodup, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_insert'._proof_2, [forall_true_iff, iff_self, set.mem_insert_iff, eq.refl, multiset.mem_cons, finset.mem_mk, congr, or, forall_congr_eq, set.has_insert, insert, finset.nodup, trivial, not_false_iff, iff_false_intro, set.mem_to_finset_val, propext, congr_arg, false, eq.trans, eq, id, true, multiset.has_mem, multiset, eq.mpr, multiset.nodup_cons_of_nodup, set.to_finset, finset.val, multiset.cons, finset.mk, finset.has_mem, finset, iff, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_insert'.equations._eqn_1, [eq.refl, set.fintype_insert'._proof_2, set.fintype_insert'._proof_1, set.to_finset, finset.val, multiset.cons, finset.mk, set.fintype_of_finset, set.fintype_insert', set.has_insert, insert, eq, set.has_mem, has_mem.mem, not, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_insert, [set.fintype_insert', not, set.fintype_insert._proof_2, set.fintype_insert._proof_1, set.has_emptyc, singleton, set.has_union, has_union.union, eq.mpr, set.decidable_mem_of_fintype, set.has_mem, has_mem.mem, dite, set.has_insert, insert, set.has_coe_to_sort, coe_sort, fintype, set, decidable_eq]), (set.fintype_insert._proof_1, [set.insert_eq, eq.refl, eq.rec, id, set.has_emptyc, singleton, set.has_union, has_union.union, set.has_insert, insert, set.has_coe_to_sort, coe_sort, fintype, eq, set]), (set.fintype_insert._proof_2, [set.singleton_subset_iff, set.has_subset, has_subset.subset, iff.mpr, set.union_eq_self_of_subset_left, eq.refl, eq.rec, id, set.has_insert, set.has_emptyc, singleton, set.has_union, has_union.union, set.has_coe_to_sort, coe_sort, fintype, eq, set.has_mem, has_mem.mem, set]), (set.fintype_inter, [set.decidable_mem, set.fintype_sep, set.has_inter, has_inter.inter, decidable_pred, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_of_finset, [fintype.subtype, set.has_coe_to_sort, coe_sort, fintype, set.has_mem, finset.has_mem, has_mem.mem, iff, finset, set]), (set.fintype_of_fintype_image, [set.fintype_of_fintype_image._proof_2, set.fintype_of_fintype_image._proof_1, set.to_finset, finset.val, multiset.filter_map, finset.mk, set.fintype_of_finset, set.image, set.has_coe_to_sort, coe_sort, fintype, function.is_partial_inv, option, set, decidable_eq]), (set.fintype_of_fintype_image._proof_1, [finset.nodup, function.injective_of_partial_inv_right, multiset.nodup_filter_map, set.to_finset, finset.val, multiset.filter_map, multiset.nodup, set.image, set.has_coe_to_sort, coe_sort, fintype, function.is_partial_inv, option, set]), (set.fintype_of_fintype_image._proof_2, [trivial, iff_self, exists_eq_right', function.injective_of_partial_inv, function.injective.eq_iff, true, exists_eq_left', exists_swap, eq.rec, and.left_comm, exists_and_distrib_left, iff.symm, eq.refl, and.comm, set.mem_image, set.mem_to_finset_val, funext, multiset.mem_filter_map, finset.mem_mk, propext, multiset.has_mem, multiset, eq.trans, congr_arg, congr, id, option.some, eq, and, Exists, eq.mpr, set.has_mem, finset.nodup, function.injective_of_partial_inv_right, multiset.nodup_filter_map, set.to_finset, finset.val, multiset.filter_map, finset.mk, finset.has_mem, finset, has_mem.mem, iff, set.image, set.has_coe_to_sort, coe_sort, fintype, function.is_partial_inv, option, set]), (set.fintype_sep, [set.fintype_sep._proof_1, set.to_finset, finset.filter, set.fintype_of_finset, set.has_sep, has_sep.sep, decidable_pred, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_sep._proof_1, [trivial, forall_true_iff, iff_self, set.mem_sep_eq, eq.refl, set.mem_to_finset, finset.mem_filter, propext, congr_arg, congr, and, forall_congr_eq, eq.trans, eq, id, true, eq.mpr, set.has_sep, has_sep.sep, set.has_mem, set.to_finset, finset.filter, finset.has_mem, finset, has_mem.mem, iff, decidable_pred, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_subset, [set.fintype_inter, set.fintype_subset._proof_1, set.has_inter, has_inter.inter, eq.mpr, set.has_subset, has_subset.subset, decidable_pred, set.has_coe_to_sort, coe_sort, fintype, set]), (set.fintype_subset._proof_1, [set.inter_eq_self_of_subset_right, eq.symm, eq.refl, eq.rec, id, set.has_inter, has_inter.inter, set.has_coe_to_sort, coe_sort, fintype, eq, set.has_subset, has_subset.subset, set]), (set.has_coe_to_sort, [set.has_mem, has_mem.mem, subtype, has_coe_to_sort.mk, set, has_coe_to_sort]), (set.has_emptyc, [false, has_emptyc.mk, set, has_emptyc]), (set.has_insert, [set.insert, has_insert.mk, set, has_insert]), (set.has_inter, [set.inter, has_inter.mk, set, has_inter]), (set.has_mem, [set.mem, has_mem.mk, set, has_mem]), (set.has_sep, [set.sep, has_sep.mk, set, has_sep]), (set.has_ssubset, [set.strict_subset, has_ssubset.mk, set, has_ssubset]), (set.has_subset, [set.subset, has_subset.mk, set, has_subset]), (set.has_union, [set.union, has_union.mk, set, has_union]), (set.image, [eq, set.has_mem, has_mem.mem, and, Exists, set_of, set]), (set.infinite, [set.finite, not, set]), (set.infinite_univ_nat, [finset.exists_nat_subset_range, trivial, set.mem_univ, iff_true_intro, set.finite.mem_to_finset, set.has_mem, set, eq.trans, eq, id, true, eq.mpr, finset.subset_iff, iff.mpr, finset.not_mem_range_self, iff_false_intro, propext, eq.mp, false.rec, finset.has_mem, has_mem.mem, id_rhs, false, Exists.dcases_on, finset.range, set.finite.to_finset, finset.has_subset, finset, has_subset.subset, Exists, set.finite, set.univ, nat, set.infinite]), (set.insert, [set.has_mem, has_mem.mem, eq, or, set_of, set]), (set.insert_eq, [eq_false_intro, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, forall_true_iff, iff_self, eq.refl, set.mem_singleton_iff, set.mem_union_eq, set.mem_insert_iff, congr_arg, congr, or, forall_congr_eq, set.ext_iff, propext, set.has_mem, has_mem.mem, iff, eq.trans, id, true, eq.mpr, set.has_emptyc, singleton, set.has_union, has_union.union, set.has_insert, insert, eq, set]), (set.inter, [set.has_mem, has_mem.mem, and, set_of, set]), (set.inter_eq_self_of_subset_right, [auto.not_and_eq, set.subset_def, or.comm, auto.classical.implies_iff_not_or, eq.mp, not_eq_of_eq_true, or_eq_of_eq_false_right, eq_false_of_not_eq_true, or_eq_of_eq_false_left, eq_true_intro, eq.symm, false_of_true_eq_false, false, false.rec, or, not, classical.by_contradiction, true_and, forall_true_iff, imp_self, imp_congr_eq, and_imp, iff_def, eq.refl, set.mem_inter_eq, congr_arg, congr, true, forall_congr_eq, set.ext_iff, propext, iff, eq.trans, id, and, set.has_mem, has_mem.mem, eq.mpr, set.has_inter, has_inter.inter, eq, set.has_subset, has_subset.subset, set]), (set.mem, [set]), (set.mem_empty_eq, [rfl, false, set.has_emptyc, has_emptyc.emptyc, set.has_mem, set, has_mem.mem, eq]), (set.mem_image, [iff.rfl, eq, and, Exists, set.image, set.has_mem, has_mem.mem, iff, set]), (set.mem_insert_iff, [iff.rfl, eq, or, set.has_insert, insert, set.has_mem, has_mem.mem, iff, set]), (set.mem_inter_eq, [rfl, and, set.has_inter, has_inter.inter, set.has_mem, has_mem.mem, eq, set]), (set.mem_range, [iff.rfl, eq, Exists, set.range, set.has_mem, set, has_mem.mem, iff]), (set.mem_sep_eq, [rfl, and, set.has_sep, has_sep.sep, set.has_mem, has_mem.mem, eq, set]), (set.mem_set_of_eq, [rfl, set_of, set.has_mem, set, has_mem.mem, eq]), (set.mem_singleton, [eq_false_intro, false_of_true_eq_false, false, false.rec, not, classical.by_contradiction, eq_self_iff_true, set.mem_singleton_iff, propext, eq.trans, eq, id, true, eq.mpr, set.has_insert, set.has_emptyc, singleton, set.has_mem, set, has_mem.mem]), (set.mem_singleton_iff, [eq_false_intro, false_of_true_eq_false, false.rec, not, classical.by_contradiction, iff_self, or_false, set.mem_empty_eq, set.mem_insert_iff, propext, set.singleton_def, eq.refl, has_mem, insert, has_emptyc.emptyc, false, or, congr_arg, congr, eq.trans, id, true, eq.mpr, eq, set.has_insert, set.has_emptyc, singleton, set.has_mem, set, has_mem.mem, iff]), (set.mem_to_finset, [trivial, iff_self, exists_eq_right, exists_prop, set_coe.exists, true_and, finset.mem_univ_val, iff_true_intro, funext, multiset.mem_map, finset.mem_mk, propext, set.to_finset.equations._eqn_1, eq.refl, has_mem, set.to_finset._proof_1, finset.mk, multiset.map, finset.univ, finset.val, multiset.has_mem, multiset, subtype.mk, subtype.val, and, Exists, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, set.has_mem, set.to_finset, finset.has_mem, finset, has_mem.mem, iff, set.has_coe_to_sort, coe_sort, fintype, set]), (set.mem_to_finset_val, [set.mem_to_finset, set.has_mem, set.to_finset, finset.val, multiset.has_mem, multiset, has_mem.mem, iff, set.has_coe_to_sort, coe_sort, fintype, set]), (set.mem_union_eq, [rfl, or, set.has_union, has_union.union, set.has_mem, has_mem.mem, eq, set]), (set.mem_univ, [trivial, set.univ, set.has_mem, set, has_mem.mem]), (set.not_injective_int_fintype, [int.of_nat_inj, function.injective_comp, set.not_injective_nat_fintype, int.has_coe, coe_base, coe_to_lift, coe, function.comp, nat, function.injective, not, int, decidable_eq, fintype]), (set.not_injective_nat_fintype, [fintype.complete, set.has_mem, has_mem.mem, finset.finite_to_set, fintype.elems, finset.has_lift, lift_base, set, finset, coe, set.finite_subset, set.finite_of_finite_image, set.infinite_univ_nat, set.univ, set.image, set.finite, function.injective, not, nat, decidable_eq, fintype]), (set.range, [eq, Exists, set_of, set]), (set.sep, [set.has_mem, has_mem.mem, and, set_of, set]), (set.set_coe_eq_subtype, [rfl, set.has_mem, has_mem.mem, subtype, coe_sort, set.has_coe_to_sort, has_coe_to_sort.S, eq, set]), (set.singleton_def, [rfl, has_emptyc.emptyc, insert, set.has_insert, set.has_emptyc, singleton, set, eq]), (set.singleton_subset_iff, [eq.refl, set.mem_singleton_iff, eq.mp, congr_arg, congr, has_mem, eq.trans, trivial, set.mem_singleton, iff_true_intro, propext, eq, id, true, eq.mpr, iff.intro, set.has_mem, has_mem.mem, set.has_insert, set.has_emptyc, singleton, set.has_subset, has_subset.subset, iff, set]), (set.ssubset_def, [rfl, ne, set.has_subset, has_subset.subset, and, set.has_ssubset, has_ssubset.ssubset, eq, set]), (set.ssubset_iff_subset_not_subset, [and_false, trivial, forall_true_iff, and_self, not_false_iff, true.intro, iff.mpr, and.elim_right, iff_false_intro, false, and.elim_left, iff_true_intro, not_and, set.subset.antisymm_iff, propext, ne.def, eq.refl, congr_arg, congr, set.ssubset_def, ne, imp_congr_ctx_eq, eq.trans, eq, id, true, eq.mpr, iff.intro, not, set.has_subset, has_subset.subset, and, set.has_ssubset, has_ssubset.ssubset, iff, set]), (set.strict_subset, [ne, set.has_subset, has_subset.subset, and, set]), (set.subset, [set.has_mem, has_mem.mem, set]), (set.subset.antisymm, [set.has_mem, has_mem.mem, iff.intro, set.ext, eq, set.has_subset, has_subset.subset, set]), (set.subset.antisymm_iff, [set.subset.antisymm, id_rhs, and.dcases_on, set.subset.refl, and.intro, eq.subst, iff.intro, set.has_subset, has_subset.subset, and, eq, iff, set]), (set.subset.refl, [set.has_mem, has_mem.mem, id, set.has_subset, has_subset.subset, set]), (set.subset_def, [rfl, set.has_mem, has_mem.mem, set.has_subset, has_subset.subset, eq, set]), (set.subset_univ, [trivial, set.has_mem, has_mem.mem, set.univ, set.has_subset, has_subset.subset, set]), (set.to_finset, [set.to_finset._proof_1, finset.univ, finset.val, set.has_mem, has_mem.mem, subtype.val, multiset.map, finset.mk, finset, set.has_coe_to_sort, coe_sort, fintype, set]), (set.to_finset._proof_1, [finset.nodup, subtype.eq, multiset.nodup_map, finset.univ, finset.val, set.has_mem, has_mem.mem, subtype.val, multiset.map, multiset.nodup, set.has_coe_to_sort, coe_sort, fintype, set]), (set.to_finset.equations._eqn_1, [eq.refl, set.to_finset._proof_1, finset.univ, finset.val, set.has_mem, has_mem.mem, subtype.val, multiset.map, finset.mk, set.to_finset, finset, eq, set.has_coe_to_sort, coe_sort, fintype, set]), (set.union, [set.has_mem, has_mem.mem, or, set_of, set]), (set.union_eq_self_of_subset_left, [and.right, and.left, set.subset_def, or_eq_of_eq_false_left, eq_false_of_not_eq_true, eq_false_intro, or_eq_of_eq_false_right, eq_true_intro, eq.symm, true, false_of_true_eq_false, and_false, not_and_self, false.rec, and.comm, or.left_comm, or.comm, auto.classical.implies_iff_not_or, auto.not_not_eq, auto.not_or_eq, auto.not_and_eq, eq.mp, false, or.dcases_on, not, classical.by_contradiction, iff_def, eq.refl, set.mem_union_eq, congr_arg, congr, forall_congr_eq, set.ext_iff, propext, iff, eq.trans, id, set.has_mem, has_mem.mem, or, and, eq.mpr, set.has_union, has_union.union, eq, set.has_subset, has_subset.subset, set]), (set.univ, [true, set]), (set.univ_decidable, [trivial, decidable.is_true, set.univ, decidable_pred]), (set_coe.exists, [subtype.exists, subtype.mk, set.has_mem, has_mem.mem, Exists, iff, set.has_coe_to_sort, coe_sort, set]), (set_fintype, [set_fintype._proof_1, finset.univ, set.decidable_mem, finset.filter, set.has_mem, has_mem.mem, fintype.subtype, set.has_coe_to_sort, coe_sort, decidable_pred, set, fintype]), (set_fintype._proof_1, [trivial, forall_true_iff, iff_self, true_and, eq.refl, finset.mem_univ, iff_true_intro, finset.mem_filter, propext, and, congr_arg, congr, forall_congr_eq, eq.trans, eq, id, true, eq.mpr, finset.univ, set.decidable_mem, set.has_mem, finset.filter, finset.has_mem, finset, has_mem.mem, iff, decidable_pred, set, fintype]), (set_of, [set]), (setoid, []), (setoid.iseqv, [setoid.r, equivalence, setoid]), (setoid.mk, [setoid, equivalence]), (setoid.r, [setoid]), (setoid.refl, [setoid.iseqv, id_rhs, transitive, symmetric, and, reflexive, and.dcases_on, setoid.r, equivalence, setoid_has_equiv, has_equiv.equiv, setoid]), (setoid.symm, [setoid.iseqv, id_rhs, transitive, symmetric, and, reflexive, and.dcases_on, setoid.r, equivalence, setoid_has_equiv, has_equiv.equiv, setoid]), (setoid.trans, [setoid.iseqv, id_rhs, transitive, symmetric, and, reflexive, and.dcases_on, setoid.r, equivalence, setoid_has_equiv, has_equiv.equiv, setoid]), (setoid_has_equiv, [setoid.r, has_equiv.mk, has_equiv, setoid]), (sigma, []), (sigma.cases_on, [sigma.rec, sigma.mk, sigma]), (sigma.fst, [sigma]), (sigma.mk, [sigma]), (sigma.rec, [sigma.mk, sigma]), (sigma.snd, [sigma.fst, sigma]), (singleton, [has_emptyc.emptyc, has_insert.insert, has_insert, has_emptyc]), (sizeof, [has_sizeof.sizeof, nat, has_sizeof]), (sizeof_measure, [sizeof, measure, has_sizeof]), (sizeof_measure_wf, [sizeof, measure_wf, sizeof_measure, well_founded, has_sizeof]), (smul_add, [module.smul_add, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (smul_add_comm', [multiplicative.monoid, multiplicative, pow_mul_comm', add_monoid.smul, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, nat, add_monoid]), (smul_smul, [mul_smul, eq.symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (smul_zero, [trivial, eq_self_iff_true, propext, add_zero, has_scalar, congr_arg, congr, eq.trans, true, smul_add, eq.symm, eq.refl, eq.rec, id, eq.mpr, add_group.to_left_cancel_add_semigroup, add_left_cancel, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, module.to_has_scalar, has_scalar.smul, eq, module, ring]), (string, [string_imp]), (string_imp, []), (strong_induction_on._main._pack._wf_rec_mk_dec_tactic._aux_1, [id, measure_wf, measure, has_well_founded.mk, has_well_founded.r, multiset.card, nat.has_lt, nat, has_lt.lt, multiset]), (sub_add_cancel, [neg_add_cancel_right, add_group_has_sub, has_sub.sub, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (sub_add_eq_sub_sub_swap, [trivial, eq_self_iff_true, propext, add_assoc, has_sub, neg_add_rev, eq.refl, has_add, sub_eq_add_neg, congr_arg, congr, add_group.to_has_neg, has_neg.neg, eq.trans, id, true, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, eq, add_group]), (sub_eq_add_neg, [rfl, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_group_has_sub, has_sub.sub, eq, add_group]), (sub_eq_of_eq_add, [trivial, eq_self_iff_true, propext, add_zero, add_right_neg, has_add, add_assoc, sub_eq_add_neg, eq.refl, has_sub, add_group.to_has_neg, has_neg.neg, add_monoid.to_has_zero, has_zero.zero, congr_arg, congr, eq.trans, id, true, eq.mpr, add_group_has_sub, has_sub.sub, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_group]), (sub_eq_zero, [trivial, eq_self_iff_true, propext, add_right_neg, sub_eq_add_neg, eq.refl, has_sub, add_group.to_has_neg, has_neg.neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, congr_arg, congr, eq.trans, id, true, eq.mpr, eq_of_sub_eq_zero, iff.intro, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, iff, add_group]), (sub_eq_zero_iff_eq, [sub_eq_zero_of_eq, eq_of_sub_eq_zero, iff.intro, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, iff, add_group]), (sub_eq_zero_of_eq, [sub_self, eq.refl, eq.rec, id, eq.mpr, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, add_group]), (sub_lt_self, [add_zero, eq.refl, eq.rec, id, eq, eq.mpr, neg_neg_of_pos, add_lt_add_left, rfl, add_group.to_has_neg, has_neg.neg, trans_rel_right, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, trans_rel_left, add_group_has_sub, has_sub.sub, has_lt.lt, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, gt, ordered_comm_group]), (sub_ne_zero, [sub_eq_zero, eq, not_congr, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, ne, iff, add_group]), (sub_nonneg_of_le, [add_le_add_right, add_right_neg, eq.refl, eq, eq.rec, add_group.to_has_neg, has_neg.neg, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, add_group_has_sub, has_sub.sub, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, ordered_comm_group]), (sub_pos_of_lt, [add_lt_add_right, add_right_neg, eq.refl, eq, eq.rec, add_group.to_has_neg, has_neg.neg, ordered_cancel_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, ordered_comm_group.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, eq.mp, add_group_has_sub, has_sub.sub, ordered_comm_group.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, ordered_comm_group.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, ordered_comm_group]), (sub_self, [add_right_neg, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, add_group]), (sub_sub, [trivial, eq_self_iff_true, propext, neg_add_rev, has_add, add_left_comm, add_comm, eq.refl, sub_eq_add_neg, has_sub, add_comm_group.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, congr_arg, congr, add_group.to_has_neg, has_neg.neg, eq.trans, id, true, eq.mpr, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq, add_comm_group]), (sub_sub_self, [add_neg_cancel_left, add_comm, eq.rec, add_comm_group.to_add_comm_monoid, add_comm_monoid.to_add_comm_semigroup, add_comm_semigroup.to_add_semigroup, neg_neg, neg_add_rev, has_add, sub_eq_add_neg, eq.refl, has_sub, eq.trans, congr_arg, congr, id, add_group.to_has_neg, has_neg.neg, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, add_comm_group.to_add_group, add_group_has_sub, has_sub.sub, eq, add_comm_group]), (sub_zero, [add_zero, neg_zero, sub_eq_add_neg, eq.refl, eq.rec, id, add_group.to_has_neg, has_neg.neg, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq.mpr, add_group.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, add_group_has_sub, has_sub.sub, eq, add_group]), (subsingleton, []), (subsingleton.elim, [subsingleton.rec, eq, subsingleton]), (subsingleton.intro, [subsingleton, eq]), (subsingleton.rec, [subsingleton, eq]), (subtype, []), (subtype.cases_on, [subtype.rec, subtype.mk, subtype]), (subtype.decidable_eq, [subtype.decidable_eq._proof_2, decidable.is_false, not, subtype.decidable_eq._proof_1, decidable.is_true, eq.rec, decidable.by_cases, subtype.mk, eq, decidable, subtype.cases_on, id, subtype, decidable_eq]), (subtype.decidable_eq._proof_1, [eq.refl, subtype.mk, subtype, eq]), (subtype.decidable_eq._proof_2, [absurd, false, subtype.mk.inj_arrow, id, subtype.mk, subtype, eq, not]), (subtype.eq, [heq.refl, eq.symm, rfl, id_rhs, eq.refl, eq.rec, heq, eq.dcases_on, subtype.mk, subtype.cases_on, subtype.val, eq, subtype]), (subtype.exists, [Exists.intro, id_rhs, subtype.cases_on, Exists.dcases_on, iff.intro, subtype.mk, Exists, iff, subtype]), (subtype.forall, [id_rhs, subtype.cases_on, iff.intro, subtype.mk, iff, subtype]), (subtype.mk, [subtype]), (subtype.mk.inj, [subtype.no_confusion, subtype.mk, subtype, eq]), (subtype.mk.inj_arrow, [subtype.mk.inj, subtype.mk, subtype, eq]), (subtype.mk_eq_mk, [eq.refl, eq.rec, eq.drec, subtype.mk.inj_arrow, iff.intro, subtype.mk, subtype, eq, iff]), (subtype.no_confusion, [eq.refl, subtype.cases_on, eq.rec, subtype.no_confusion_type, eq, subtype]), (subtype.no_confusion_type, [eq, subtype.cases_on, subtype]), (subtype.property, [subtype.val, subtype]), (subtype.rec, [subtype.mk, subtype]), (subtype.val, [subtype]), (succ_smul', [trivial, eq_self_iff_true, propext, smul_add_comm', succ_smul, congr_arg, congr, eq.trans, id, true, eq.mpr, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, nat.has_add, has_add.add, add_monoid.smul, eq, nat, add_monoid]), (succ_smul, [rfl, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.has_one, has_one.one, nat.has_add, has_add.add, add_monoid.smul, eq, nat, add_monoid]), (sum_card_order_of_eq_card_pow_eq_one, [order_of_dvd_of_pow_eq_one, order_of_le_of_pow_eq_one, and.intro, and.right, one_pow, pow_order_of_eq_one, pow_mul, nat.has_mul, id_rhs, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, Exists.dcases_on, iff.intro, exists_eq_right', nat.lt_succ_iff, exists_prop, funext, finset.mem_bind, Exists, nat.has_le, has_le.le, iff.mpr, eq_false_intro, heq.refl, heq, eq_of_heq, not_eq_of_eq_false, of_eq_true, and_imp, not_and, iff_false, finset.not_mem_empty, iff_false_intro, true_and, finset.mem_univ, iff_true_intro, true, finset.mem_inter, false, finset.ext, iff, ne.def, finset.mem_range, finset.mem_insert, finset.mem_filter, propext, finset.range_succ, eq.rec, eq.drec, decidable_pred, eq.refl, congr_arg, congr, has_mem, finset.has_insert, insert, imp_congr_eq, and, forall_congr_eq, id, not, or, finset.has_emptyc, has_emptyc.emptyc, finset.has_inter, has_inter.inter, ne, finset.has_mem, finset, has_mem.mem, eq.mpr, finset.card_bind, eq.symm, finset.bind, eq.trans, monoid.to_has_one, has_one.one, group.to_monoid, monoid.has_pow, has_pow.pow, finset.univ, nat.decidable_eq, order_of, finset.card, nat.succ, finset.range, nat.decidable_dvd, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, finset.filter, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, finset.sum, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, decidable_eq, fintype, group]), (symmetric, []), (to_bool_iff, [rfl, decidable.is_true, absurd, bool.no_confusion, iff.intro, decidable.is_false, id_rhs, not, decidable.cases_on, bool.tt, decidable.to_bool, bool, eq, iff, decidable]), (to_bool_true, [to_bool_iff, bool.tt, eq, iff.mpr, decidable.to_bool, coe_sort_bool, bool, coe_sort, decidable]), (to_domain, [linear_ordered_ring.zero_ne_one, linear_ordered_ring.eq_zero_or_eq_zero_of_mul_eq_zero, linear_ordered_ring.right_distrib, linear_ordered_ring.left_distrib, linear_ordered_ring.mul_one, linear_ordered_ring.one_mul, linear_ordered_ring.one, linear_ordered_ring.mul_assoc, linear_ordered_ring.mul, linear_ordered_ring.add_comm, linear_ordered_ring.add_left_neg, linear_ordered_ring.neg, linear_ordered_ring.add_zero, linear_ordered_ring.zero_add, linear_ordered_ring.zero, linear_ordered_ring.add_assoc, linear_ordered_ring.add, domain.mk, domain, linear_ordered_ring]), (trans_rel_left, [eq.subst, eq]), (trans_rel_right, [eq.symm, eq.subst, eq]), (transitive, []), (trivial, [true.intro, true]), (true, []), (true.intro, [true]), (true_and, [trivial, and_iff_right, true, and, iff]), (true_iff, [iff_true, iff.comm, iff.trans, true, iff]), (true_ne_false, [trivial, ne_false_of_self, false, true, eq, not]), (true_or, [trivial, or.inl, iff_true_intro, true, or, iff]), (two_mul, [trivial, eq_self_iff_true, propext, eq.refl, one_mul, has_add, congr_arg, congr, id, true, eq.mpr, right_distrib, distrib.to_has_mul, eq.trans, has_add.add, semiring.to_monoid, monoid.to_has_one, has_one.one, semiring.to_distrib, distrib.to_has_add, bit0, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, eq, semiring]), (units, [monoid]), (units.cases_on, [units.rec, units.mk, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.coe_mul, [rfl, monoid.to_semigroup, semigroup.to_has_mul, units.has_mul, has_mul.mul, units.has_coe, coe_base, coe_to_lift, coe, eq, units, monoid]), (units.coe_ne_zero, [units.val_inv, zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_one, propext, zero_mul, eq.refl, has_mul, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, congr_arg, congr, eq.trans, false, monoid.to_has_one, has_one.one, units.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.mp, units.val, eq, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, units.has_coe, coe_base, coe_to_lift, coe, ne, nonzero_comm_ring.to_comm_ring, comm_ring.to_ring, ring.to_monoid, units, nonzero_comm_ring]), (units.coe_neg, [rfl, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, units.has_neg, has_neg.neg, units.has_coe, coe_base, coe_to_lift, coe, eq, ring.to_monoid, units, ring]), (units.coe_one, [rfl, monoid.to_has_one, units.has_one, has_one.one, units.has_coe, coe_base, coe_to_lift, units, coe, eq, monoid]), (units.coe_pow, [units.mul_left_inj, has_mul, units.coe_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.succ, trivial, eq_self_iff_true, propext, units.coe_one, pow_zero, nat.nat_zero_eq_zero, eq.refl, has_pow, nat.has_zero, has_zero.zero, has_lift_t, congr_arg, congr, monoid.to_has_one, has_one.one, eq.trans, id, true, nat.zero, eq.mpr, nat.rec, units.group, group.to_monoid, monoid.has_pow, has_pow.pow, units.has_coe, coe_base, coe_to_lift, coe, eq, nat, units, monoid]), (units.comm_group, [units.comm_group._proof_5, units.comm_group._proof_4, group.inv, units.comm_group._proof_3, units.comm_group._proof_2, group.one, units.comm_group._proof_1, units.group, group.mul, comm_group.mk, comm_monoid.to_monoid, units, comm_group, comm_monoid]), (units.comm_group._proof_1, [group.mul_assoc, units.group, group.mul, has_mul.mk, has_mul.mul, eq, comm_monoid.to_monoid, units, comm_monoid]), (units.comm_group._proof_2, [group.one_mul, group.one, has_one.mk, has_one.one, group.mul_assoc, units.group, group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid.to_monoid, units, comm_monoid]), (units.comm_group._proof_3, [group.mul_one, group.one, has_one.mk, has_one.one, group.mul_assoc, units.group, group.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid.to_monoid, units, comm_monoid]), (units.comm_group._proof_4, [group.mul_left_inv, monoid.to_has_one, has_one.one, group.inv, has_inv.mk, has_inv.inv, group.mul_one, group.one_mul, group.one, group.mul_assoc, units.group, group.mul, monoid.mk, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, comm_monoid.to_monoid, units, comm_monoid]), (units.comm_group._proof_5, [units.val, comm_monoid.to_comm_semigroup, mul_comm, units.ext, units.mul, eq, comm_monoid.to_monoid, units, comm_monoid]), (units.decidable_eq, [units.decidable_eq._main, units, decidable_eq, monoid]), (units.decidable_eq._main, [units.ext_iff, units.has_coe, coe_base, coe_to_lift, coe, decidable_of_iff', eq, decidable, id_rhs, units, decidable_eq, monoid]), (units.ext, [mul_assoc, mul_one, one_mul, has_mul, eq.trans, congr_arg, congr, eq.mp, eq.refl, eq.drec, eq.rec, id, id_rhs, units.mk, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, units.cases_on, units.has_coe, coe_base, coe_to_lift, coe, eq, units, monoid]), (units.ext_iff, [units.ext, congr_arg, iff.intro, units.has_coe, coe_base, coe_to_lift, coe, eq, iff, units, monoid]), (units.group, [units.group._proof_4, units.has_inv, has_inv.inv, units.group._proof_3, units.group._proof_2, units.has_one, has_one.one, units.group._proof_1, units.has_mul, has_mul.mul, group.mk, units, group, monoid]), (units.group._proof_1, [trivial, eq_self_iff_true, propext, mul_assoc, eq.refl, has_mul, units.coe_mul, congr_arg, congr, monoid.to_semigroup, semigroup.to_has_mul, eq.trans, id, true, units.has_coe, coe_base, coe_to_lift, coe, eq.mpr, units.ext, units.has_mul, has_mul.mk, has_mul.mul, eq, units, monoid]), (units.group._proof_2, [trivial, eq_self_iff_true, propext, one_mul, eq.refl, units.coe_one, has_mul, units.coe_mul, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, congr_arg, congr, eq.trans, id, true, units.has_coe, coe_base, coe_to_lift, coe, eq.mpr, units.ext, units.has_one, has_one.mk, has_one.one, units.has_mul, has_mul.mul, eq, units, monoid]), (units.group._proof_3, [trivial, eq_self_iff_true, propext, mul_one, units.coe_one, eq.refl, has_mul, units.coe_mul, monoid.to_has_one, monoid.to_semigroup, semigroup.to_has_mul, congr_arg, congr, eq.trans, id, true, units.has_coe, coe_base, coe_to_lift, coe, eq.mpr, units.ext, units.has_one, has_one.mk, has_one.one, units.has_mul, has_mul.mul, eq, units, monoid]), (units.group._proof_4, [units.inv_mul, mul_one, one_mul, units.coe_one, monoid.to_has_one, has_one.mk, units.has_one, has_one.one, trivial, eq_self_iff_true, propext, mul_assoc, eq.refl, has_mul, units.coe_mul, congr_arg, congr, monoid.to_semigroup, semigroup.to_has_mul, eq.trans, id, true, units.has_coe, coe_base, coe_to_lift, coe, eq.mpr, has_mul.mk, units.ext, monoid.mk, monoid.one, units.has_inv, has_inv.mk, has_inv.inv, units.has_mul, has_mul.mul, eq, units, monoid]), (units.has_coe, [units.val, has_coe.mk, units, has_coe, monoid]), (units.has_inv, [units.inv', has_inv.mk, units, has_inv, monoid]), (units.has_mul, [units.mul, has_mul.mk, units, has_mul, monoid]), (units.has_neg, [units.has_neg._proof_2, units.has_neg._proof_1, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, units.mk, has_neg.mk, ring.to_monoid, units, has_neg, ring]), (units.has_neg._proof_1, [trivial, eq_self_iff_true, propext, eq.refl, neg_neg, units.mul_inv, neg_mul_eq_neg_mul_symm, has_neg, mul_neg_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, monoid.to_has_one, has_one.one, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, ring.to_monoid, units, ring]), (units.has_neg._proof_2, [trivial, eq_self_iff_true, propext, eq.refl, neg_neg, units.inv_mul, neg_mul_eq_neg_mul_symm, has_neg, mul_neg_eq_neg_mul_symm, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, monoid.to_has_one, has_one.one, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, ring.to_monoid, units, ring]), (units.has_one, [units.has_one._proof_2, units.has_one._proof_1, monoid.to_has_one, has_one.one, units.mk, has_one.mk, units, has_one, monoid]), (units.has_one._proof_1, [mul_one, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (units.has_one._proof_2, [one_mul, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (units.inv', [units.val_inv, units.inv_val, units.val, units.inv, units.mk, units, monoid]), (units.inv, [units, monoid]), (units.inv_eq_self_iff, [iff.refl, units.coe_neg, mul_self_eq_mul_self_iff, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, integral_domain.to_comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, units.coe_mul, units.has_mul, units.ext_iff, units.has_coe, coe_base, coe_to_lift, coe, mul_one, eq.symm, inv_eq_iff_mul_eq_one, propext, eq.refl, group.to_has_inv, eq.rec, monoid.to_has_one, units.group, group.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq.trans, congr_arg, congr, id, eq.mpr, units.has_neg, has_neg.neg, units.has_one, has_one.one, or, units.has_inv, has_inv.inv, eq, iff, integral_domain.to_domain, domain.to_ring, ring.to_monoid, units, integral_domain]), (units.inv_mul, [units.inv_val, monoid.to_has_one, has_one.one, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.inv_mul_cancel_left, [one_mul, units.inv_mul, monoid.to_has_one, has_one.one, mul_assoc, eq.symm, eq.refl, eq.rec, id, eq.mpr, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.inv_val, [monoid.to_has_one, has_one.one, units.val, units.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.mk, [units, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, monoid]), (units.mk0, [inv_mul_cancel, mul_inv_cancel, division_ring.to_has_inv, has_inv.inv, units.mk, domain.to_ring, ring.to_monoid, units, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, division_ring]), (units.mk0_val, [rfl, units.mk0, units.has_coe, coe_base, coe_to_lift, domain.to_ring, ring.to_monoid, units, coe, eq, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, division_ring]), (units.mul, [units.mul._proof_2, units.mul._proof_1, units.inv, units.val, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, units.mk, units, monoid]), (units.mul._proof_1, [trivial, eq_self_iff_true, propext, mul_one, true, units.val_inv, eq.rec, has_mul, eq.trans, eq.mp, eq.refl, mul_assoc, congr_arg, congr, id, eq.mpr, monoid.to_has_one, has_one.one, units.inv, units.val, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.mul._proof_2, [trivial, eq_self_iff_true, propext, mul_one, true, units.inv_val, eq.rec, has_mul, eq.trans, eq.mp, eq.refl, mul_assoc, congr_arg, congr, id, eq.mpr, monoid.to_has_one, has_one.one, units.val, units.inv, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.mul_inv, [units.val_inv, monoid.to_has_one, has_one.one, units.has_inv, has_inv.inv, units.has_coe, coe_base, coe_to_lift, coe, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.mul_left_inj, [units.inv_mul_cancel_left, congr_arg, congr, units.has_inv, has_inv.inv, eq.mp, iff.intro, units.has_coe, coe_base, coe_to_lift, coe, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, iff, units, monoid]), (units.mul_neg, [neg_mul_eq_mul_neg, units.has_coe, coe_base, coe_to_lift, coe, units.val, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, eq.symm, units.ext, units.has_neg, has_neg.neg, units.has_mul, has_mul.mul, eq, ring.to_monoid, units, ring]), (units.ne_zero, [heq.refl, zero_ne_one, iff_false_intro, zero_ne_one_class, zero_ne_one_class.to_has_zero, propext, ring.to_semiring, semiring.to_mul_zero_class, zero_mul, congr_arg, congr, eq.trans, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, no_zero_divisors.to_has_mul, eq.mp, id_rhs, eq.refl, eq.rec, domain.zero, heq, eq.dcases_on, units.mk, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, false, units.cases_on, eq, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, units.has_coe, coe_base, coe_to_lift, coe, ne, domain.to_ring, ring.to_monoid, units, domain]), (units.neg_inv, [rfl, units.has_neg, has_neg.neg, units.has_inv, has_inv.inv, eq, ring.to_monoid, units, ring]), (units.neg_mul, [units.val, units.has_coe, coe_base, coe_to_lift, coe, neg_mul_eq_neg_mul_symm, units.ext, units.has_neg, has_neg.neg, units.has_mul, has_mul.mul, eq, ring.to_monoid, units, ring]), (units.neg_mul_neg, [trivial, eq_self_iff_true, mul_right_inj, units.group, group.to_right_cancel_semigroup, right_cancel_semigroup.to_semigroup, semigroup.to_has_mul, propext, eq.refl, units.neg_neg, units.neg_mul, has_neg, units.mul_neg, congr_arg, congr, eq.trans, id, true, eq.mpr, units.has_neg, has_neg.neg, units.has_mul, has_mul.mul, eq, ring.to_monoid, units, ring]), (units.neg_neg, [units.has_coe, coe_base, coe_to_lift, coe, ring.to_add_comm_group, add_comm_group.to_add_group, neg_neg, units.ext, units.has_neg, has_neg.neg, eq, ring.to_monoid, units, ring]), (units.rec, [units.mk, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units.val, [units, monoid]), (units.val_inv, [monoid.to_has_one, has_one.one, units.inv, units.val, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, eq, units, monoid]), (units_equiv_ne_zero, [units_equiv_ne_zero._proof_4, units_equiv_ne_zero._proof_3, units_equiv_ne_zero._proof_2, subtype.val, units.mk0, units_equiv_ne_zero._proof_1, units.val, set.has_mem, has_mem.mem, subtype.mk, equiv.mk, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, equiv, field]), (units_equiv_ne_zero._match_1, [units.has_coe, coe_base, coe_to_lift, coe, rfl, units.ext, units.mk, id_rhs, monoid.to_has_one, has_one.one, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, units.cases_on, units.ne_zero, units.val, subtype.mk, subtype.property, set.has_mem, has_mem.mem, subtype.val, units.mk0, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, eq, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, field]), (units_equiv_ne_zero._match_2, [rfl, id_rhs, subtype.cases_on, subtype.property, subtype.val, units.mk0, units.ne_zero, units.val, set.has_mem, has_mem.mem, subtype.mk, domain.to_ring, ring.to_monoid, units, eq, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, field]), (units_equiv_ne_zero._proof_1, [units.ne_zero, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, units.has_coe, coe_base, coe_to_lift, coe, ne, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, field]), (units_equiv_ne_zero._proof_2, [subtype.property, subtype.val, set.has_mem, has_mem.mem, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, field]), (units_equiv_ne_zero._proof_3, [units_equiv_ne_zero._match_1, units.ne_zero, units.val, subtype.mk, subtype.property, set.has_mem, has_mem.mem, subtype.val, units.mk0, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, eq, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, units, field]), (units_equiv_ne_zero._proof_4, [units_equiv_ne_zero._match_2, subtype.property, subtype.val, units.mk0, units.ne_zero, units.val, set.has_mem, has_mem.mem, subtype.mk, domain.to_ring, ring.to_monoid, units, eq, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, set_of, set.has_coe_to_sort, set, coe_sort, field]), (well_founded, []), (well_founded.apply, [well_founded.rec_on, acc, well_founded]), (well_founded.fix, [well_founded.fix._proof_1, well_founded.fix_F, well_founded]), (well_founded.fix._proof_1, [well_founded.apply, acc, well_founded]), (well_founded.fix_F, [acc.rec_on, acc]), (well_founded.fix_F_eq, [acc.intro, rfl, acc.drec, acc.inv, well_founded.fix_F, eq, acc]), (well_founded.fix_eq, [well_founded.apply, well_founded.fix_F_eq, well_founded.fix, eq, well_founded]), (well_founded.induction, [well_founded.recursion, well_founded]), (well_founded.intro, [well_founded, acc]), (well_founded.rec, [well_founded, acc]), (well_founded.rec_on, [well_founded.rec, acc, well_founded]), (well_founded.recursion, [acc, well_founded.apply, acc.rec_on, well_founded]), (with_bot, [option]), (with_bot.add_comm_monoid, [with_top.add_comm_monoid, with_bot, add_comm_monoid]), (with_bot.add_comm_semigroup, [with_top.add_comm_semigroup, with_bot, add_comm_semigroup]), (with_bot.add_monoid, [with_top.add_monoid, with_bot, add_monoid]), (with_bot.add_semigroup, [with_top.add_semigroup, with_bot, add_semigroup]), (with_bot.bot_lt_some, [false, option.no_confusion, eq, with_bot.order_bot, lattice.bot_le, lt_of_le_of_ne, option.some, with_bot.has_bot, lattice.has_bot.bot, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_lt, with_bot, has_lt.lt, partial_order]), (with_bot.coe_add, [rfl, with_bot.add_semigroup, add_semigroup.to_has_add, has_add.add, with_bot.has_coe_t, coe_to_lift, coe, with_bot, eq, add_semigroup]), (with_bot.coe_le_coe, [Exists.intro, option.some_inj, iff.mp, eq.subst, heq.refl, eq.symm, eq.rec, eq.refl, option.no_confusion, heq, option.some, eq, eq.dcases_on, rfl, option.has_mem, option, has_mem.mem, Exists, Exists.dcases_on, iff.intro, with_bot.has_coe_t, coe_to_lift, coe, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, iff, partial_order]), (with_bot.coe_lt_coe, [with_bot.some_lt_some, with_bot.has_coe_t, coe_to_lift, coe, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_lt, with_bot, has_lt.lt, iff, partial_order]), (with_bot.decidable_linear_order, [decidable_lt_of_decidable_le, decidable_eq_of_decidable_le, has_le.le.decidable, option.decidable_exists_mem, option.has_mem, option, has_mem.mem, Exists, option.decidable_forall_mem, with_bot.decidable_linear_order._proof_13, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, with_bot.partial_order, decidable_of_iff, with_bot.decidable_linear_order._proof_12, decidable.is_false, option.some, with_bot.decidable_linear_order._proof_11, option.none, decidable.is_true, with_bot.decidable_linear_order._proof_10, with_bot.decidable_linear_order._proof_9, with_bot.decidable_linear_order._proof_8, with_bot.decidable_linear_order._proof_7, with_bot.decidable_linear_order._proof_6, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, decidable, option.cases_on, with_bot.decidable_linear_order._proof_5, with_bot.decidable_linear_order._proof_4, with_bot.decidable_linear_order._proof_3, with_bot.decidable_linear_order._proof_2, with_bot.decidable_linear_order._proof_1, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, decidable_linear_order.mk, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_1, [linear_order.le_refl, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, has_le.mk, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_10, [linear_order.le_total, linear_order.le_antisymm, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_11, [lattice.bot_le, lattice.order_bot.to_has_bot, lattice.has_bot.bot, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_12, [trivial, not_false_iff, propext, option.no_confusion, option, eq_false_intro, congr_arg, false, eq.trans, id, true, eq.mpr, with_bot.order_bot, lattice.bot_le, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, with_bot.partial_order, le_antisymm, eq, mt, option.none, option.some, linear_order.le_total, linear_order.le_antisymm, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, linear_order.mk, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, not, decidable_linear_order]), (with_bot.decidable_linear_order._proof_13, [with_bot.some_le_some, option.some, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, iff, decidable_linear_order]), (with_bot.decidable_linear_order._proof_2, [linear_order.le_trans, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, has_le.mk, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_3, [linear_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, linear_order.le, has_le.mk, has_le.le, and, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, decidable_linear_order]), (with_bot.decidable_linear_order._proof_4, [linear_order.le_antisymm, eq, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_5, [linear_order.le_total, linear_order.le_antisymm, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_6, [linear_order.le_refl, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, has_le.mk, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_7, [linear_order.le_trans, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, has_le.mk, has_le.le, with_bot, decidable_linear_order]), (with_bot.decidable_linear_order._proof_8, [linear_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, linear_order.le, has_le.mk, has_le.le, and, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, decidable_linear_order]), (with_bot.decidable_linear_order._proof_9, [linear_order.le_antisymm, eq, linear_order.lt_iff_le_not_le, linear_order.le_trans, linear_order.le_refl, linear_order.lt, decidable_linear_order.to_linear_order, with_bot.linear_order, linear_order.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, decidable_linear_order]), (with_bot.has_bot, [option.none, lattice.has_bot.mk, with_bot, lattice.has_bot]), (with_bot.has_coe_t, [option.some, has_coe_t.mk, with_bot, has_coe_t]), (with_bot.has_one, [has_one.one, with_bot.has_coe_t, coe_to_lift, coe, has_one.mk, with_bot, has_one]), (with_bot.lattice, [with_bot.lattice._proof_10, with_bot.lattice._proof_9, with_bot.lattice._proof_8, lattice.lattice.to_semilattice_inf, with_bot.semilattice_inf, lattice.semilattice_inf_bot.inf, with_bot.lattice._proof_7, with_bot.lattice._proof_6, with_bot.lattice._proof_5, with_bot.lattice._proof_4, with_bot.lattice._proof_3, with_bot.lattice._proof_2, with_bot.lattice._proof_1, lattice.semilattice_sup_bot.lt, lattice.semilattice_sup_bot.le, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.sup, lattice.lattice.mk, with_bot, lattice.lattice]), (with_bot.lattice._proof_1, [lattice.semilattice_sup_bot.le_refl, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_10, [lattice.semilattice_inf_bot.le_inf, lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.lattice.to_semilattice_inf, with_bot.semilattice_inf, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_2, [lattice.semilattice_sup_bot.le_trans, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_3, [lattice.semilattice_sup_bot.lt_iff_le_not_le, name.anonymous, name.mk_string, not, lattice.semilattice_sup_bot.le, has_le.mk, has_le.le, and, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, lattice.lattice]), (with_bot.lattice._proof_4, [lattice.semilattice_sup_bot.le_antisymm, eq, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_5, [lattice.semilattice_sup_bot.le_sup_left, lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_6, [lattice.semilattice_sup_bot.le_sup_right, lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_7, [lattice.semilattice_sup_bot.sup_le, lattice.semilattice_sup_bot.sup, lattice.has_sup.mk, lattice.has_sup.sup, lattice.semilattice_sup_bot.le_antisymm, lattice.semilattice_sup_bot.lt_iff_le_not_le, lattice.semilattice_sup_bot.le_trans, lattice.semilattice_sup_bot.le_refl, lattice.semilattice_sup_bot.lt, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_8, [lattice.semilattice_inf_bot.inf_le_left, lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.lattice.to_semilattice_inf, with_bot.semilattice_inf, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice._proof_9, [lattice.semilattice_inf_bot.inf_le_right, lattice.semilattice_inf_bot.inf, lattice.has_inf.mk, lattice.has_inf.inf, lattice.semilattice_inf_bot.le_antisymm, lattice.semilattice_inf_bot.lt_iff_le_not_le, lattice.semilattice_inf_bot.le_trans, lattice.semilattice_inf_bot.le_refl, lattice.semilattice_inf_bot.lt, lattice.lattice.to_semilattice_inf, with_bot.semilattice_inf, lattice.semilattice_inf_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.lattice]), (with_bot.lattice_eq_DLO, [lattice.lattice.to_semilattice_inf, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, iff.rfl, lattice.lattice.ext, with_bot.lattice, with_bot.decidable_linear_order, lattice.lattice_of_decidable_linear_order, with_bot, lattice.lattice, eq, decidable_linear_order]), (with_bot.linear_order, [with_bot.linear_order._proof_5, with_bot.linear_order._proof_4, with_bot.linear_order._proof_3, with_bot.linear_order._proof_2, with_bot.linear_order._proof_1, partial_order.lt, linear_order.to_partial_order, with_bot.partial_order, partial_order.le, linear_order.mk, with_bot, linear_order]), (with_bot.linear_order._proof_1, [partial_order.le_refl, linear_order.to_partial_order, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, linear_order]), (with_bot.linear_order._proof_2, [partial_order.le_trans, linear_order.to_partial_order, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, linear_order]), (with_bot.linear_order._proof_3, [partial_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, partial_order.le, has_le.mk, has_le.le, and, linear_order.to_partial_order, with_bot.partial_order, partial_order.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, linear_order]), (with_bot.linear_order._proof_4, [partial_order.le_antisymm, eq, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, linear_order.to_partial_order, with_bot.partial_order, partial_order.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, linear_order]), (with_bot.linear_order._proof_5, [trivial, le_total, iff_true_intro, with_bot.some_le_some, propext, congr_arg, congr, eq.trans, eq, id, true, eq.mpr, or.inr, option.some, with_bot.order_bot, lattice.bot_le, option.none, or.inl, option.cases_on, partial_order.le_antisymm, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, linear_order.to_partial_order, with_bot.partial_order, partial_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, or, with_bot, linear_order]), (with_bot.order_bot, [with_bot.order_bot._proof_5, with_bot.order_bot._proof_4, with_bot.order_bot._proof_3, with_bot.order_bot._proof_2, with_bot.order_bot._proof_1, partial_order.lt, with_bot.partial_order, partial_order.le, with_bot.has_bot, lattice.has_bot.bot, lattice.order_bot.mk, with_bot, lattice.order_bot, partial_order]), (with_bot.order_bot._proof_1, [partial_order.le_refl, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, partial_order]), (with_bot.order_bot._proof_2, [partial_order.le_trans, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, partial_order]), (with_bot.order_bot._proof_3, [partial_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, partial_order.le, has_le.mk, has_le.le, and, with_bot.partial_order, partial_order.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, partial_order]), (with_bot.order_bot._proof_4, [partial_order.le_antisymm, eq, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, with_bot.partial_order, partial_order.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, partial_order]), (with_bot.order_bot._proof_5, [option.no_confusion, option.some, partial_order.to_preorder, preorder.to_has_le, has_le.le, Exists, option.no_confusion_type, with_bot.has_bot, lattice.has_bot.mk, lattice.has_bot.bot, option.has_mem, option, has_mem.mem, with_bot, partial_order]), (with_bot.ordered_comm_monoid, [with_bot.ordered_comm_monoid._proof_10, with_bot.ordered_comm_monoid._proof_9, with_bot.ordered_comm_monoid._proof_8, with_bot.ordered_comm_monoid._proof_7, with_bot.ordered_comm_monoid._proof_6, with_bot.ordered_comm_monoid._proof_5, partial_order.lt, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, with_bot.ordered_comm_monoid._proof_4, with_bot.ordered_comm_monoid._proof_3, with_bot.ordered_comm_monoid._proof_2, add_comm_monoid.zero, with_bot.ordered_comm_monoid._proof_1, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, ordered_comm_monoid.mk, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_1, [add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, has_add.mk, has_add.add, eq, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_10, [eq.symm, with_bot.some_le_some, propext, eq.mp, add_le_add_left', le_antisymm, ordered_comm_monoid.add, multiplicative.comm_monoid, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, option.no_confusion, multiplicative, id, and.right, heq.refl, with_bot.some_lt_some, iff.mp, lt_of_add_lt_add_left', le_of_lt, rfl, Exists.intro, with_bot.order_bot, lattice.bot_le, not_le_of_lt, not.elim, option.none, option.cases_on, eq.refl, eq.rec, heq, option.some, eq, eq.dcases_on, and.intro, not, preorder.to_has_le, Exists, option.has_mem, has_mem.mem, option, has_le.mk, has_le.le, and, add_comm_monoid.add_comm, add_comm_monoid.add_zero, add_comm_monoid.zero_add, add_comm_monoid.zero, add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, partial_order.le_antisymm, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_2, [add_comm_monoid.zero_add, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_3, [add_comm_monoid.add_zero, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_4, [add_comm_monoid.add_comm, add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_5, [partial_order.le_refl, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_6, [partial_order.le_trans, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, has_le.mk, has_le.le, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_7, [partial_order.lt_iff_le_not_le, name.anonymous, name.mk_string, not, partial_order.le, has_le.mk, has_le.le, and, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_8, [partial_order.le_antisymm, eq, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, ordered_comm_monoid]), (with_bot.ordered_comm_monoid._proof_9, [eq.symm, with_bot.some_le_some, propext, eq.mp, add_le_add_left', rfl, Exists.intro, with_bot.order_bot, lattice.bot_le, le_antisymm, eq.rec, ordered_comm_monoid.add, multiplicative.comm_monoid, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, heq.refl, eq.refl, option.no_confusion, multiplicative, heq, option.some, eq, eq.dcases_on, option.none, Exists, option.cases_on, option.has_mem, option, has_mem.mem, id, add_comm_monoid.add_comm, add_comm_monoid.add_zero, add_comm_monoid.zero_add, add_comm_monoid.zero, add_comm_monoid.add_assoc, ordered_comm_monoid.to_add_comm_monoid, with_bot.add_comm_monoid, add_comm_monoid.add, add_comm_monoid.mk, add_comm_monoid.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, partial_order.le_antisymm, partial_order.lt_iff_le_not_le, partial_order.le_trans, partial_order.le_refl, partial_order.lt, ordered_comm_monoid.to_partial_order, with_bot.partial_order, partial_order.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, ordered_comm_monoid]), (with_bot.partial_order, [with_bot.partial_order._proof_4, with_bot.partial_order._proof_3, with_bot.partial_order._proof_2, with_bot.partial_order._proof_1, preorder.lt._default, partial_order.to_preorder, preorder.to_has_le, has_le.le, Exists, option.has_mem, has_mem.mem, option, partial_order.mk, with_bot, partial_order]), (with_bot.partial_order._match_1, [le_trans, Exists.intro, id_rhs, Exists.dcases_on, option.has_mem, option, has_mem.mem, Exists, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, partial_order]), (with_bot.partial_order._match_2, [with_bot.partial_order._match_1, id_rhs, Exists.dcases_on, partial_order.to_preorder, preorder.to_has_le, Exists, option.has_mem, has_mem.mem, option, has_le.mk, has_le.le, with_bot, partial_order]), (with_bot.partial_order._proof_1, [le_refl, Exists.intro, partial_order.to_preorder, preorder.to_has_le, has_le.le, Exists, option.has_mem, option, has_mem.mem, with_bot, partial_order]), (with_bot.partial_order._proof_2, [with_bot.partial_order._match_2, partial_order.to_preorder, preorder.to_has_le, Exists, option.has_mem, has_mem.mem, option, has_le.mk, has_le.le, with_bot, partial_order]), (with_bot.partial_order._proof_3, [iff.refl, partial_order.to_preorder, preorder.to_has_le, has_le.le, Exists, option.has_mem, has_mem.mem, option, preorder.lt._default, has_lt.mk, has_lt.lt, iff, with_bot, partial_order]), (with_bot.partial_order._proof_4, [eq.symm, le_antisymm, id, eq.mpr, eq.rec, heq.refl, option.no_confusion, heq, eq.dcases_on, rfl, Exists.dcases_on, option.some, eq.refl, option.none, option.cases_on, eq, has_lt.mk, has_lt.lt, iff.refl, with_bot.partial_order._match_2, has_le.mk, le_refl, Exists.intro, preorder.lt._default, partial_order.to_preorder, Exists, option.has_mem, has_mem.mem, option, preorder.mk, preorder.to_has_le, has_le.le, with_bot, partial_order]), (with_bot.semilattice_inf, [with_bot.semilattice_inf._proof_8, with_bot.semilattice_inf._proof_7, with_bot.semilattice_inf._proof_6, lattice.semilattice_inf.to_has_inf, lattice.has_inf.inf, option.map, option.bind, with_bot.semilattice_inf._proof_5, with_bot.semilattice_inf._proof_4, with_bot.semilattice_inf._proof_3, with_bot.semilattice_inf._proof_2, with_bot.semilattice_inf._proof_1, lattice.order_bot.lt, lattice.order_bot.le, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.bot, lattice.semilattice_inf_bot.mk, with_bot, lattice.semilattice_inf_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_1, [lattice.order_bot.le_refl, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.le, has_le.mk, has_le.le, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_2, [lattice.order_bot.le_trans, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.le, has_le.mk, has_le.le, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_3, [lattice.order_bot.lt_iff_le_not_le, name.anonymous, name.mk_string, not, lattice.order_bot.le, has_le.mk, has_le.le, and, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_4, [lattice.order_bot.le_antisymm, eq, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_5, [lattice.order_bot.bot_le, lattice.order_bot.bot, lattice.has_bot.mk, lattice.has_bot.bot, lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_6, [eq.symm, lattice.inf_le_left, rfl, Exists.intro, eq.rec, and.dcases_on, Exists.dcases_on, option.map_eq_some', eq.refl, congr, funext, congr_arg, option.bind_eq_some', option.mem_def, propext, eq.trans, eq.mp, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, option.some, eq, and, Exists, lattice.semilattice_inf.to_has_inf, option.map, option.bind, lattice.has_inf.mk, lattice.has_inf.inf, option.has_mem, option, has_mem.mem, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_7, [eq.symm, lattice.inf_le_right, rfl, Exists.intro, eq.rec, and.dcases_on, Exists.dcases_on, option.map_eq_some', eq.refl, congr, funext, congr_arg, option.bind_eq_some', option.mem_def, propext, eq.trans, eq.mp, lattice.semilattice_inf.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, option.some, eq, and, Exists, lattice.semilattice_inf.to_has_inf, option.map, option.bind, lattice.has_inf.mk, lattice.has_inf.inf, option.has_mem, option, has_mem.mem, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_inf._proof_8, [heq.refl, lattice.le_inf, Exists.intro, rfl, Exists.dcases_on, eq.refl, eq.rec, heq, option.some, eq, eq.dcases_on, lattice.semilattice_inf.to_has_inf, option.map, option.bind, lattice.has_inf.mk, lattice.has_inf.inf, Exists, option.has_mem, option, has_mem.mem, lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_inf.to_partial_order, with_bot.order_bot, lattice.order_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_inf]), (with_bot.semilattice_sup, [with_bot.semilattice_sup._proof_8, with_bot.semilattice_sup._proof_7, with_bot.semilattice_sup._proof_6, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, option.lift_or_get, with_bot.semilattice_sup._proof_5, with_bot.semilattice_sup._proof_4, with_bot.semilattice_sup._proof_3, with_bot.semilattice_sup._proof_2, with_bot.semilattice_sup._proof_1, lattice.order_bot.lt, lattice.order_bot.le, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.bot, lattice.semilattice_sup_bot.mk, with_bot, lattice.semilattice_sup_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_1, [lattice.order_bot.le_refl, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.le, has_le.mk, has_le.le, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_2, [lattice.order_bot.le_trans, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.le, has_le.mk, has_le.le, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_3, [lattice.order_bot.lt_iff_le_not_le, name.anonymous, name.mk_string, not, lattice.order_bot.le, has_le.mk, has_le.le, and, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.lt, has_lt.mk, has_lt.lt, iff, with_bot, auto_param, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_4, [lattice.order_bot.le_antisymm, eq, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.le, preorder.mk, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_5, [lattice.order_bot.bot_le, lattice.order_bot.bot, lattice.has_bot.mk, lattice.has_bot.bot, lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_6, [heq.refl, trivial, lattice.le_sup_left, iff_true_intro, option.lift_or_get.equations._eqn_4, true, le_refl, exists_eq_left', option.some.inj_eq, option.mem_def, option.lift_or_get.equations._eqn_3, has_mem, congr, exists_prop, propext, funext, congr_arg, and, eq.trans, id, option.none, eq.mpr, option.cases_on, eq.refl, eq.rec, heq, option.some, eq, eq.dcases_on, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup.to_has_sup, option.lift_or_get, lattice.has_sup.mk, lattice.has_sup.sup, Exists, option.has_mem, option, has_mem.mem, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_7, [heq.refl, trivial, lattice.le_sup_right, iff_true_intro, option.lift_or_get.equations._eqn_4, true, le_refl, exists_eq_left', option.some.inj_eq, option.mem_def, option.lift_or_get.equations._eqn_2, has_mem, congr, exists_prop, propext, funext, congr_arg, and, eq.trans, id, option.none, eq.mpr, option.cases_on, eq.refl, eq.rec, heq, option.some, eq, eq.dcases_on, lattice.semilattice_sup.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, lattice.semilattice_sup.to_has_sup, option.lift_or_get, lattice.has_sup.mk, lattice.has_sup.sup, Exists, option.has_mem, option, has_mem.mem, with_bot, lattice.semilattice_sup]), (with_bot.semilattice_sup._proof_8, [eq.symm, with_bot.some_le_some, with_bot.partial_order, propext, eq.mp, lattice.sup_le, Exists.intro, Exists.dcases_on, lattice.semilattice_sup.sup, rfl, eq.rec, heq.refl, eq.refl, option.no_confusion, heq, option.some, eq, eq.dcases_on, option.none, option.cases_on, Exists, lattice.semilattice_sup.to_has_sup, option.lift_or_get, lattice.has_sup.mk, lattice.has_sup.sup, option.has_mem, option, has_mem.mem, lattice.order_bot.le_antisymm, lattice.order_bot.lt_iff_le_not_le, lattice.order_bot.le_trans, lattice.order_bot.le_refl, lattice.order_bot.lt, lattice.semilattice_sup.to_partial_order, with_bot.order_bot, lattice.order_bot.le, partial_order.mk, partial_order.to_preorder, preorder.to_has_le, has_le.le, with_bot, lattice.semilattice_sup]), (with_bot.some_le_some, [with_bot.coe_le_coe, option.some, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_le, with_bot, has_le.le, iff, partial_order]), (with_bot.some_lt_some, [lt_iff_le_not_le, iff.symm, not_congr, with_bot.some_le_some, and_congr, not, preorder.to_has_le, has_le.le, and, iff.trans, option.some, with_bot.partial_order, partial_order.to_preorder, preorder.to_has_lt, with_bot, has_lt.lt, iff, partial_order]), (with_bot.sup_eq_max, [with_bot.lattice_eq_DLO, lattice.lattice, with_bot.lattice, lattice.sup_eq_max, eq.symm, eq.refl, eq.rec, id, eq.mpr, with_bot.decidable_linear_order, max, lattice.lattice_of_decidable_linear_order, lattice.lattice.to_semilattice_sup, with_bot.semilattice_sup, lattice.semilattice_sup_bot.to_semilattice_sup, lattice.semilattice_sup.to_has_sup, lattice.has_sup.sup, eq, with_bot, decidable_linear_order]), (with_bot.well_founded_lt, [with_bot.order_bot, lattice.bot_le, not_le_of_gt, false.elim, lt_trans, with_bot.some_lt_some, iff.mp, with_bot.has_coe_t, coe_to_lift, coe, well_founded.induction, option.none, option.some, acc.intro, option.rec_on, well_founded.intro, with_bot.has_bot, lattice.has_bot.bot, acc, with_bot.partial_order, with_bot, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, well_founded, partial_order]), (with_top, [option]), (with_top.add_comm_monoid, [with_top.add_comm_monoid._proof_4, with_top.add_comm_monoid._proof_3, with_top.add_comm_monoid._proof_2, add_comm_monoid.zero, with_top.add_comm_monoid._proof_1, multiplicative.comm_monoid, with_zero.comm_monoid, additive.add_comm_monoid, multiplicative, with_zero, additive, add_comm_monoid.add, add_comm_monoid.mk, with_top, add_comm_monoid]), (with_top.add_comm_monoid._proof_1, [add_comm_monoid.add_assoc, multiplicative.comm_monoid, with_zero.comm_monoid, additive.add_comm_monoid, add_comm_monoid.add, has_add.mk, has_add.add, eq, multiplicative, with_zero, additive, add_comm_monoid]), (with_top.add_comm_monoid._proof_2, [add_comm_monoid.zero_add, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, multiplicative.comm_monoid, with_zero.comm_monoid, additive.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_comm_monoid]), (with_top.add_comm_monoid._proof_3, [add_comm_monoid.add_zero, add_comm_monoid.zero, has_zero.mk, has_zero.zero, add_comm_monoid.add_assoc, multiplicative.comm_monoid, with_zero.comm_monoid, additive.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_comm_monoid]), (with_top.add_comm_monoid._proof_4, [add_comm_monoid.add_comm, add_comm_monoid.add_assoc, multiplicative.comm_monoid, with_zero.comm_monoid, additive.add_comm_monoid, add_comm_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_comm_monoid]), (with_top.add_comm_semigroup, [with_top.add_comm_semigroup._proof_2, with_top.add_comm_semigroup._proof_1, multiplicative.comm_semigroup, with_zero.comm_semigroup, additive.add_comm_semigroup, multiplicative, with_zero, additive, add_comm_semigroup.add, add_comm_semigroup.mk, with_top, add_comm_semigroup]), (with_top.add_comm_semigroup._proof_1, [add_comm_semigroup.add_assoc, multiplicative.comm_semigroup, with_zero.comm_semigroup, additive.add_comm_semigroup, add_comm_semigroup.add, has_add.mk, has_add.add, eq, multiplicative, with_zero, additive, add_comm_semigroup]), (with_top.add_comm_semigroup._proof_2, [add_comm_semigroup.add_comm, add_comm_semigroup.add_assoc, multiplicative.comm_semigroup, with_zero.comm_semigroup, additive.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_comm_semigroup]), (with_top.add_monoid, [with_top.add_monoid._proof_3, with_top.add_monoid._proof_2, add_monoid.to_has_zero, has_zero.zero, option.some, with_top.add_monoid._proof_1, multiplicative.monoid, with_zero.monoid, additive.add_monoid, multiplicative, with_zero, additive, add_monoid.add, add_monoid.mk, with_top, add_monoid]), (with_top.add_monoid._proof_1, [add_monoid.add_assoc, multiplicative.monoid, with_zero.monoid, additive.add_monoid, add_monoid.add, has_add.mk, has_add.add, eq, multiplicative, with_zero, additive, add_monoid]), (with_top.add_monoid._proof_2, [add_monoid.zero_add, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, multiplicative.monoid, with_zero.monoid, additive.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_monoid]), (with_top.add_monoid._proof_3, [add_monoid.add_zero, add_monoid.zero, has_zero.mk, has_zero.zero, add_monoid.add_assoc, multiplicative.monoid, with_zero.monoid, additive.add_monoid, add_monoid.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, multiplicative, with_zero, additive, add_monoid]), (with_top.add_semigroup, [with_top.add_semigroup._proof_1, add_semigroup.to_has_add, has_add.add, option.map, option.bind, add_semigroup.mk, with_top, add_semigroup]), (with_top.add_semigroup._proof_1, [add_semigroup.add_assoc, multiplicative.semigroup, with_zero.semigroup, additive.add_semigroup, add_semigroup.add, has_add.mk, has_add.add, eq, multiplicative, with_zero, additive, add_semigroup]), (with_top.coe_zero, [rfl, with_top.mul_zero_class, mul_zero_class.to_has_zero, canonically_ordered_comm_semiring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, has_zero.zero, with_top.has_coe_t, coe_to_lift, coe, with_top, eq, partial_order, decidable_eq, canonically_ordered_comm_semiring]), (with_top.has_coe_t, [option.some, has_coe_t.mk, with_top, has_coe_t]), (with_top.mul_zero_class, [with_top.mul_zero_class._proof_2, with_top.mul_zero_class._proof_1, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, coe_option, coe_to_lift, option, coe, option.bind, option.decidable_eq, or.decidable, canonically_ordered_comm_semiring.to_canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, with_top.add_monoid, add_monoid.to_has_zero, has_zero.zero, eq, or, ite, mul_zero_class.mk, with_top, mul_zero_class, decidable_eq, canonically_ordered_comm_semiring]), (with_top.mul_zero_class._proof_1, [rfl, or.inl, if_pos, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, coe_option, coe_to_lift, option, coe, option.bind, option.decidable_eq, or.decidable, canonically_ordered_comm_semiring.to_canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, with_top.add_monoid, add_monoid.to_has_zero, has_zero.mk, has_zero.zero, or, ite, eq, with_top, decidable_eq, canonically_ordered_comm_semiring]), (with_top.mul_zero_class._proof_2, [rfl, or.inr, if_pos, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, coe_option, coe_to_lift, option, coe, option.bind, option.decidable_eq, or.decidable, has_zero.mk, canonically_ordered_comm_semiring.to_canonically_ordered_monoid, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, with_top.add_monoid, add_monoid.to_has_zero, has_zero.zero, or, ite, eq, with_top, decidable_eq, canonically_ordered_comm_semiring]), (with_zero, [option]), (with_zero.comm_monoid, [with_zero.comm_monoid._proof_4, with_zero.comm_monoid._proof_3, with_zero.comm_monoid._proof_2, monoid.one, with_zero.comm_monoid._proof_1, comm_monoid.to_monoid, with_zero.monoid, monoid.mul, comm_monoid.mk, with_zero, comm_monoid]), (with_zero.comm_monoid._proof_1, [monoid.mul_assoc, comm_monoid.to_monoid, with_zero.monoid, monoid.mul, has_mul.mk, has_mul.mul, eq, with_zero, comm_monoid]), (with_zero.comm_monoid._proof_2, [monoid.one_mul, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, comm_monoid.to_monoid, with_zero.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, with_zero, comm_monoid]), (with_zero.comm_monoid._proof_3, [monoid.mul_one, monoid.one, has_one.mk, has_one.one, monoid.mul_assoc, comm_monoid.to_monoid, with_zero.monoid, monoid.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, with_zero, comm_monoid]), (with_zero.comm_monoid._proof_4, [comm_semigroup.mul_comm, comm_semigroup.mul_assoc, comm_monoid.to_comm_semigroup, with_zero.comm_semigroup, comm_semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, with_zero, comm_monoid]), (with_zero.comm_semigroup, [with_zero.comm_semigroup._proof_2, with_zero.comm_semigroup._proof_1, comm_semigroup.to_semigroup, with_zero.semigroup, semigroup.mul, comm_semigroup.mk, with_zero, comm_semigroup]), (with_zero.comm_semigroup._proof_1, [semigroup.mul_assoc, comm_semigroup.to_semigroup, with_zero.semigroup, semigroup.mul, has_mul.mk, has_mul.mul, eq, with_zero, comm_semigroup]), (with_zero.comm_semigroup._proof_2, [mul_comm, option, congr_arg, option.some, eq.refl, option.none, option.cases_on, semigroup.mul_assoc, comm_semigroup.to_semigroup, with_zero.semigroup, semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, with_zero, comm_semigroup]), (with_zero.monoid, [with_zero.monoid._proof_3, with_zero.monoid._proof_2, monoid.to_has_one, has_one.one, option.some, with_zero.monoid._proof_1, monoid.to_semigroup, with_zero.semigroup, semigroup.mul, monoid.mk, with_zero, monoid]), (with_zero.monoid._proof_1, [semigroup.mul_assoc, monoid.to_semigroup, with_zero.semigroup, semigroup.mul, has_mul.mk, has_mul.mul, eq, with_zero, monoid]), (with_zero.monoid._proof_2, [one_mul, semigroup.to_has_mul, has_mul.mul, option, congr_arg, option.none, eq.refl, option.cases_on, monoid.to_has_one, has_one.one, option.some, monoid.to_semigroup, with_zero.semigroup, semigroup.mul, eq, with_zero, monoid]), (with_zero.monoid._proof_3, [mul_one, option, congr_arg, option.none, eq.refl, option.cases_on, monoid.to_has_one, option.some, has_one.mk, has_one.one, semigroup.mul_assoc, monoid.to_semigroup, with_zero.semigroup, semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, with_zero, monoid]), (with_zero.mul_zero_class, [with_zero.mul_zero_class._proof_2, with_zero.mul_zero_class._proof_1, option.none, semigroup.to_has_mul, has_mul.mul, option.map, option.bind, mul_zero_class.mk, with_zero, mul_zero_class, semigroup]), (with_zero.mul_zero_class._proof_1, [trivial, forall_true_iff, eq_self_iff_true, propext, option, eq.refl, option.none_bind', congr_arg, congr, forall_congr_eq, eq.trans, id, true, eq.mpr, option.none, has_zero.mk, has_zero.zero, semigroup.to_has_mul, option.map, option.bind, has_mul.mk, has_mul.mul, eq, with_zero, semigroup]), (with_zero.mul_zero_class._proof_2, [option.some_bind', option.some, trivial, eq_self_iff_true, propext, option.none_bind', option.map_none', funext, eq.refl, option, congr_arg, congr, eq.trans, id, true, eq.mpr, option.cases_on, option.none, has_zero.mk, has_zero.zero, semigroup.to_has_mul, option.map, option.bind, has_mul.mk, has_mul.mul, eq, with_zero, semigroup]), (with_zero.semigroup, [with_zero.semigroup._proof_1, with_zero.mul_zero_class, mul_zero_class.mul, semigroup.mk, with_zero, semigroup]), (with_zero.semigroup._proof_1, [trivial, eq_self_iff_true, propext, mul_assoc, option.some_bind', option.map_some', funext, option, congr_arg, congr, eq.trans, id, true, eq.mpr, option.some, option.none, eq.refl, option.cases_on, semigroup.to_has_mul, has_mul.mul, option.map, option.bind, eq, with_zero, semigroup]), (xgcd_aux._main._pack._wf_rec_mk_dec_tactic._aux_1, [nat.sizeof.equations._eqn_1, congr_arg, congr, has_lt, eq, nat.sizeof, eq.mpr, sizeof, psigma.lex, sizeof_measure, psigma.lex.left, id, nat.has_div, has_div.div, int.has_coe, coe_base, coe_to_lift, coe, int.has_mul, has_mul.mul, int.has_sub, has_sub.sub, psigma.mk, int.has_sizeof_inst, nat.has_sizeof, has_well_founded_of_has_sizeof, psigma.has_well_founded, psigma, has_well_founded.r, nat.succ, nat.has_mod, has_mod.mod, nat.has_lt, has_lt.lt, int, nat]), (zero_add, [add_monoid.zero_add, add_monoid.to_has_zero, has_zero.zero, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, add_monoid]), (zero_dvd_iff, [dvd_refl, eq.refl, eq.rec, id, eq.mpr, eq_zero_of_zero_dvd, iff.intro, eq, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, comm_semiring_has_dvd, has_dvd.dvd, iff, comm_semiring]), (zero_le, [trivial, eq_self_iff_true, propext, zero_add, eq.refl, congr_arg, congr, eq.trans, id, true, eq.mpr, Exists.intro, le_iff_exists_add, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, Exists, iff.mpr, ordered_comm_monoid.to_add_comm_monoid, add_comm_monoid.to_add_monoid, add_monoid.to_has_zero, has_zero.zero, canonically_ordered_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, canonically_ordered_monoid]), (zero_le_one, [zero_lt_one, le_of_lt, semiring.to_monoid, monoid.to_has_one, has_one.one, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_le, has_le.le, linear_ordered_semiring]), (zero_lt_one, [linear_ordered_semiring.zero_lt_one, semiring.to_monoid, monoid.to_has_one, has_one.one, ordered_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, linear_ordered_semiring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, has_lt.lt, linear_ordered_semiring]), (zero_mul, [mul_zero_class.zero_mul, mul_zero_class.to_has_zero, has_zero.zero, mul_zero_class.to_has_mul, has_mul.mul, eq, mul_zero_class]), (zero_ne_one, [zero_ne_one_class.zero_ne_one, zero_ne_one_class.to_has_one, has_one.one, zero_ne_one_class.to_has_zero, has_zero.zero, ne, zero_ne_one_class]), (zero_ne_one_class, []), (zero_ne_one_class.mk, [zero_ne_one_class, has_one.mk, has_one.one, has_zero.mk, has_zero.zero, ne]), (zero_ne_one_class.one, [zero_ne_one_class]), (zero_ne_one_class.to_has_one, [zero_ne_one_class.one, has_one.mk, has_one, zero_ne_one_class]), (zero_ne_one_class.to_has_zero, [zero_ne_one_class.zero, has_zero.mk, has_zero, zero_ne_one_class]), (zero_ne_one_class.zero, [zero_ne_one_class]), (zero_ne_one_class.zero_ne_one, [zero_ne_one_class.one, has_one.mk, has_one.one, zero_ne_one_class.zero, has_zero.mk, has_zero.zero, ne, zero_ne_one_class]), (zero_pow, [forall_true_iff, eq_self_iff_true, zero_mul, pow_succ, monoid.to_semigroup, semigroup.to_has_mul, has_mul.mul, nat.has_one, nat.has_add, has_add.add, nat.succ, trivial, true.intro, not_false_iff, not, iff.mpr, forall_prop_of_false, pow_zero, has_pow, lt_irrefl, iff_false_intro, preorder, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, propext, nat.nat_zero_eq_zero, eq.refl, congr_arg, congr, has_lt, imp_congr_eq, monoid.to_has_one, has_one.one, false, eq.trans, id, true, nat.zero, eq.mpr, nat.cases_on, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, semiring.to_monoid, monoid.has_pow, has_pow.pow, eq, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat, semiring]), (zmod, [coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, pnat]), (zmod.add_comm_semigroup, [zmod.add_comm_semigroup._proof_2, zmod.add_comm_semigroup._proof_1, fin.has_add, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_add.add, add_comm_semigroup.mk, zmod, add_comm_semigroup, pnat]), (zmod.add_comm_semigroup._match_1, [eq.symm, nat.modeq.refl, add_assoc, eq.refl, eq.rec, id, nat.add_semigroup, add_semigroup.to_has_add, eq.mpr, rfl, nat.mod_mod, nat.modeq.modeq_add, nat.modeq.trans, nat.has_mod, has_mod.mod, nat.has_add, nat.modeq, fin.eq_of_veq, id_rhs, fin.cases_on, fin.mk, fin.has_add, fin, has_add.mk, has_add.add, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.add_comm_semigroup._match_2, [zmod.add_comm_semigroup._match_1, id_rhs, fin.cases_on, fin.mk, fin.has_add, fin, has_add.mk, has_add.add, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.add_comm_semigroup._match_3, [zmod.add_comm_semigroup._match_2, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, fin.has_add, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_add.mk, has_add.add, eq, zmod, pnat]), (zmod.add_comm_semigroup._match_4, [add_comm, eq.refl, eq.rec, id, nat.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, eq.mpr, nat.has_add, nat.has_mod, has_mod.mod, fin.eq_of_veq, id_rhs, fin.cases_on, fin.mk, zmod.add_comm_semigroup._match_3, fin.has_add, fin, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.add_comm_semigroup._match_5, [zmod.add_comm_semigroup._match_4, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, zmod.add_comm_semigroup._match_3, fin.has_add, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.add_comm_semigroup._proof_1, [zmod.add_comm_semigroup._match_3, fin.has_add, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_add.mk, has_add.add, eq, zmod, pnat]), (zmod.add_comm_semigroup._proof_2, [zmod.add_comm_semigroup._match_5, zmod.add_comm_semigroup._match_3, fin.has_add, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.add_val, [rfl, id_rhs, fin.mk, nat.has_lt, has_lt.lt, fin.cases_on, nat.has_add, nat.has_mod, has_mod.mod, zmod.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, has_add.add, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.val, nat, eq, zmod, pnat]), (zmod.card_zmod, [fintype.card_fin, coe_pnat_nat, coe_base, coe_to_lift, coe, zmod.fintype, zmod, fintype.card, nat, eq, pnat]), (zmod.cast_mod_int, [trivial, eq_self_iff_true, propext, add_zero, zero_mul, zmod.cast_self_eq_zero, int.cast_coe_nat, nat.cast_coe, int.cast_mul, mul_zero_class.to_has_mul, ring.to_monoid, monoid.to_has_one, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_add, has_div, has_mul, coe_coe, has_mod, has_add, has_lift_t, add_group.to_has_neg, add_monoid.to_has_zero, has_zero.zero, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, true, int.mod_add_div, eq.symm, eq.rec, eq.trans, eq.refl, congr_arg, congr, id, int.has_div, has_div.div, int.has_mul, has_mul.mul, coe_trans, int.has_add, has_add.add, eq.mpr, coe_pnat_nat, int.has_coe, nat, int.has_mod, has_mod.mod, zmod.has_neg, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, int.cast_coe, coe_base, coe_to_lift, coe, zmod, eq, int, pnat]), (zmod.cast_self_eq_zero, [trivial, eq_self_iff_true, propext, eq.refl, nat.mod_self, zmod.val_cast_nat, coe_coe, fin, nat.has_mod, has_mod.mod, congr_arg, congr, eq.trans, id, true, eq.mpr, nat.has_zero, coe_trans, fin.val, fin.eq_of_veq, has_zero.zero, coe_pnat_nat, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, coe_base, coe_to_lift, nat, coe, zmod, eq, pnat]), (zmod.cast_val, [trivial, eq_self_iff_true, propext, zmod.mk_eq_cast, eq.refl, congr_arg, congr, eq.trans, id, true, fin.mk, eq.mpr, nat.has_lt, has_lt.lt, fin.cases_on, coe_pnat_nat, fin.val, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, coe_base, coe_to_lift, nat, coe, eq, zmod, pnat]), (zmod.coe_val_cast_int, [pnat.pos, int.coe_nat_ne_zero_iff_pos, nat.has_zero, nat.has_lt, has_lt.lt, int.has_zero, has_zero.zero, ne, iff.mpr, int.mod_nonneg, int.nat_abs_of_nonneg, zmod.val_cast_int, eq.refl, eq.rec, id, int.nat_abs, eq.mpr, int.has_mod, has_mod.mod, zmod.has_neg, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, int.cast_coe, zmod, coe_pnat_nat, fin.val, int.has_coe, coe_base, coe_to_lift, nat, coe, eq, int, pnat]), (zmod.comm_ring, [zmod.comm_ring._proof_9, zmod.comm_ring._proof_8, _private.1339621123.left_distrib_aux, zmod.comm_ring._proof_7, _private.1601027715.one_mul_aux, zmod.has_one, has_one.one, zmod.comm_ring._proof_6, zmod.comm_semigroup, comm_semigroup.mul, zmod.comm_ring._proof_5, zmod.comm_ring._proof_4, zmod.has_neg, has_neg.neg, zmod.comm_ring._proof_3, zmod.comm_ring._proof_2, zmod.has_zero, has_zero.zero, zmod.comm_ring._proof_1, zmod.add_comm_semigroup, add_comm_semigroup.add, comm_ring.mk, zmod, comm_ring, pnat]), (zmod.comm_ring._match_1, [nat.mod_eq_of_lt, zero_add, eq.refl, add_monoid.to_has_zero, nat.add_monoid, add_monoid.to_add_semigroup, eq.rec, id, eq.mpr, nat.has_zero, nat.has_add, nat.has_mod, has_mod.mod, fin.eq_of_veq, fin.mk, fin, id_rhs, nat.has_lt, has_lt.lt, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.cases_on, zmod.has_zero, has_zero.mk, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._match_2, [nat.has_zero, nat.has_add, nat.mod_eq_of_lt, fin.eq_of_veq, fin.mk, fin, id_rhs, nat.has_lt, has_lt.lt, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.cases_on, zmod.has_zero, has_zero.mk, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._match_3, [trivial, eq_self_iff_true, propext, int.coe_nat_zero, int.zero_mod, add_right_neg, int.add_mod_mod, coe_coe, has_add, has_mod, to_domain, domain.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, congr_arg, congr, int.has_zero, eq.trans, true, add_comm, int.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, pnat.pos, int.coe_nat_lt, int.has_lt, iff.mpr, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, linear_ordered_ring.to_ordered_ring, ordered_ring.to_ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, ne_of_lt, ne.symm, int.mod_nonneg, int.to_nat_of_nonneg, int.coe_nat_add, int.has_add, int.coe_nat_mod, eq.refl, eq.rec, id, eq.mpr, int.coe_nat_inj, nat.has_zero, coe_trans, int.has_coe, int.has_neg, int.has_mod, int, int.to_nat, nat.has_add, nat.has_mod, has_mod.mod, fin.eq_of_veq, fin.mk, fin, id_rhs, nat.has_lt, has_lt.lt, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.cases_on, add_monoid.to_has_zero, zmod.has_neg, has_neg.mk, has_neg.neg, zmod.comm_ring._match_2, zmod.comm_ring._match_1, zmod.has_zero, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_1, [add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, has_add.mk, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_2, [zmod.comm_ring._match_1, zmod.has_zero, has_zero.mk, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_3, [zmod.comm_ring._match_2, zmod.has_zero, has_zero.mk, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_4, [zmod.comm_ring._match_3, add_monoid.to_has_zero, zmod.has_neg, has_neg.mk, has_neg.neg, zmod.comm_ring._match_2, zmod.comm_ring._match_1, zmod.has_zero, has_zero.zero, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_5, [add_comm_semigroup.add_comm, add_comm_semigroup.add_assoc, zmod.add_comm_semigroup, add_comm_semigroup.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmod, pnat]), (zmod.comm_ring._proof_6, [comm_semigroup.mul_assoc, zmod.comm_semigroup, comm_semigroup.mul, has_mul.mk, has_mul.mul, eq, zmod, pnat]), (zmod.comm_ring._proof_7, [_private.1601027715.one_mul_aux, mul_comm, eq.refl, eq.rec, id, comm_semigroup.to_semigroup, eq.mpr, zmod.has_one, has_one.mk, has_one.one, comm_semigroup.mul_assoc, zmod.comm_semigroup, comm_semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (zmod.comm_ring._proof_8, [_private.1339621123.left_distrib_aux, add_comm_semigroup.to_add_semigroup, add_semigroup.to_has_add, mul_comm, eq.refl, eq.rec, id, comm_semigroup.to_semigroup, semigroup.to_has_mul, eq.mpr, zmod.add_comm_semigroup, add_comm_semigroup.add, has_add.mk, has_add.add, zmod.comm_semigroup, comm_semigroup.mul, has_mul.mk, has_mul.mul, eq, zmod, pnat]), (zmod.comm_ring._proof_9, [comm_semigroup.mul_comm, comm_semigroup.mul_assoc, zmod.comm_semigroup, comm_semigroup.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (zmod.comm_semigroup, [zmod.comm_semigroup._proof_2, zmod.comm_semigroup._proof_1, fin.has_mul, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_mul.mul, comm_semigroup.mk, zmod, comm_semigroup, pnat]), (zmod.comm_semigroup._match_1, [eq.symm, nat.modeq.refl, mul_assoc, eq.refl, eq.rec, id, nat.semigroup, semigroup.to_has_mul, nat.modeq, eq.mpr, rfl, nat.mod_mod, nat.modeq.modeq_mul, nat.has_mod, has_mod.mod, nat.has_mul, nat.modeq.trans, fin.eq_of_veq, id_rhs, fin.cases_on, fin.mk, fin.has_mul, fin, has_mul.mk, has_mul.mul, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.comm_semigroup._match_2, [zmod.comm_semigroup._match_1, id_rhs, fin.cases_on, fin.mk, fin.has_mul, fin, has_mul.mk, has_mul.mul, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.comm_semigroup._match_3, [zmod.comm_semigroup._match_2, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, fin.has_mul, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_mul.mk, has_mul.mul, eq, zmod, pnat]), (zmod.comm_semigroup._match_4, [mul_comm, eq.refl, eq.rec, id, nat.comm_semigroup, comm_semigroup.to_semigroup, eq.mpr, nat.has_mul, nat.has_mod, has_mod.mod, fin.eq_of_veq, id_rhs, fin.cases_on, fin.mk, zmod.comm_semigroup._match_3, fin.has_mul, fin, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.comm_semigroup._match_5, [zmod.comm_semigroup._match_4, fin.mk, id_rhs, nat.has_lt, has_lt.lt, fin.cases_on, zmod.comm_semigroup._match_3, fin.has_mul, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (zmod.comm_semigroup._proof_1, [zmod.comm_semigroup._match_3, fin.has_mul, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, has_mul.mk, has_mul.mul, eq, zmod, pnat]), (zmod.comm_semigroup._proof_2, [zmod.comm_semigroup._match_5, zmod.comm_semigroup._match_3, fin.has_mul, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmod, pnat]), (zmod.eq_iff_modeq_int, [zmod.cast_mod_int, id, eq.mpr, fin.veq_of_eq, zmod.val_cast_int, fin.val, int.coe_nat_eq_coe_nat_iff, propext, eq.symm, pnat.pos, int.coe_nat_ne_zero_iff_pos, nat.has_zero, nat.has_lt, has_lt.lt, int.has_zero, has_zero.zero, ne, iff.mpr, int.mod_nonneg, int.nat_abs_of_nonneg, eq.refl, eq.rec, int.nat_abs, int.has_mod, has_mod.mod, eq.mp, iff.intro, coe_pnat_nat, int.has_coe, nat, int.modeq, zmod.has_neg, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, int.cast_coe, coe_base, coe_to_lift, coe, zmod, eq, iff, int, pnat]), (zmod.eq_iff_modeq_nat, [id, eq.mpr, fin.eq_of_veq, fin.veq_of_eq, zmod.val_cast_nat, eq.refl, eq.rec, fin.val, nat.has_mod, has_mod.mod, eq.mp, iff.intro, coe_pnat_nat, nat.modeq, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmod, eq, iff, nat, pnat]), (zmod.eq_zero_iff_dvd_nat, [iff.refl, nat.modeq.modeq_zero_iff, zmod.eq_iff_modeq_nat, propext, nat.modeq, nat.cast_zero, eq.symm, eq.refl, eq.rec, id, nat.has_zero, eq.mpr, coe_pnat_nat, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, has_zero.zero, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmod, eq, iff, nat, pnat]), (zmod.fintype, [coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.fintype, zmod, fintype, pnat]), (zmod.has_neg, [zmod.has_neg._proof_1, coe_trans, fin.val, int.has_coe, int.has_neg, int, has_neg.neg, int.nat_mod, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.mk, has_neg.mk, zmod, has_neg, pnat]), (zmod.has_neg._proof_1, [pnat.pos, int.coe_nat_ne_zero_iff_pos, nat.has_zero, coe_b, iff.mpr, int.coe_nat_nonneg, abs_of_nonneg, int.mod_lt, int.mod_nonneg, int.to_nat_of_nonneg, int.nat_mod.equations._eqn_1, int.has_mod, has_mod.mod, int.to_nat, int.coe_nat_lt, propext, eq.symm, eq.refl, eq.rec, id, int.has_lt, eq.mpr, int.decidable_linear_ordered_comm_group, abs, eq, int.has_zero, has_zero.zero, ne, coe_trans, coe_pnat_nat, fin.val, int.has_coe, coe_base, coe_to_lift, coe, int.has_neg, int, has_neg.neg, int.nat_mod, nat.has_lt, nat, has_lt.lt, zmod, pnat]), (zmod.has_one, [zmod.has_one._proof_1, nat.has_one, has_one.one, nat.has_mod, has_mod.mod, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.mk, has_one.mk, zmod, has_one, pnat]), (zmod.has_one._proof_1, [pnat.pos, nat.mod_lt, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_one, has_one.one, nat.has_mod, has_mod.mod, nat.has_lt, nat, has_lt.lt, pnat]), (zmod.has_zero, [pnat.pos, nat.has_zero, has_zero.zero, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.mk, has_zero.mk, zmod, has_zero, pnat]), (zmod.le_div_two_iff_lt_neg, [trivial, nat.decidable_lt, of_as_true, lt_mul_iff_one_lt_left, ordered_semiring.to_semiring, nat.decidable_linear_ordered_semiring, decidable_linear_ordered_semiring.to_linear_ordered_semiring, linear_ordered_semiring.to_ordered_semiring, preorder.to_has_lt, iff.mpr, nat.div_lt_of_lt_mul, nat.add_sub_cancel, nat.succ_add, two_mul, semiring.to_monoid, monoid.to_has_one, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.semiring, semiring.to_distrib, nat.two_mul_odd_div_two, nat.has_mul, has_mul.mul, pnat.pos, nat.succ_sub, nat.succ_sub_one, has_sub, not_true, eq_self_iff_true, ne.def, nat.cast_zero, has_lift_t, true, not, false, eq.mp, nat.pos_of_ne_zero, nat.sub_self, nat.has_zero, le_refl, nat.sub_lt_iff, iff.refl, nat.sub_le_sub_left_iff, nat.mod_eq_of_lt, zmod.val_cast_nat, fin.is_lt, nat.ordered_semiring, ordered_semiring.to_ordered_cancel_comm_monoid, ordered_cancel_comm_monoid.to_ordered_comm_monoid, ordered_comm_monoid.to_partial_order, partial_order.to_preorder, le_of_lt, nat.cast_sub, zmod.cast_val, sub_eq_add_neg, add_group.to_has_neg, add_group_has_sub, zmod.cast_self_eq_zero, ring.to_distrib, distrib.to_has_add, zmod.has_one, nat.cast_coe, zero_add, add_monoid.to_has_zero, zmod.comm_ring, comm_ring.to_ring, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.succ_eq_add_one, nat.succ_le_iff, propext, eq.symm, eq.rec, nat.succ, eq.trans, eq.refl, congr_arg, congr, id, eq.mpr, has_add.add, nat.has_sub, has_sub.sub, zmod.has_neg, has_neg.neg, nat.has_lt, has_lt.lt, nat.has_div, has_div.div, fin.val, nat.has_le, has_le.le, iff, zmod.has_zero, has_zero.zero, ne, zmod, nat.has_one, has_one.one, nat.has_add, bit0, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_mod, has_mod.mod, nat, eq, pnat]), (zmod.mk_eq_cast, [nat.mod_eq_of_lt, zmod.val_cast_nat, eq.refl, eq.rec, id, nat.has_mod, has_mod.mod, fin.val, eq.mpr, fin.eq_of_veq, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, zmod, fin.mk, fin, eq, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.mul_val, [rfl, id_rhs, fin.mk, nat.has_lt, has_lt.lt, fin.cases_on, nat.has_mul, nat.has_mod, has_mod.mod, zmod.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, has_mul.mul, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.val, nat, eq, zmod, pnat]), (zmod.ne_neg_self, [zmod.le_div_two_iff_lt_neg, not_lt, eq.symm, preorder.to_has_le, not_iff_self, propext, eq.refl, eq.rec, false, nat.linear_order, linear_order.to_partial_order, partial_order.to_preorder, preorder.to_has_lt, not, eq.mp, nat.has_lt, has_lt.lt, nat.has_div, has_div.div, fin.val, nat.has_le, has_le.le, iff, zmod.has_neg, has_neg.neg, zmod.has_zero, has_zero.zero, ne, zmod, nat.has_one, has_one.one, nat.has_add, bit0, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_mod, has_mod.mod, nat, eq, pnat]), (zmod.one_val, [rfl, nat.has_one, nat.has_mod, has_mod.mod, zmod.has_one, zmod, has_one.one, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.val, nat, eq, pnat]), (zmod.val_cast_int, [int.mod_lt, int.coe_nat_nonneg, abs_of_nonneg, has_lt, int.decidable_linear_ordered_comm_group, abs, int.coe_nat_lt, int.has_lt, iff.mp, zmod.val_cast_of_lt, int.cast_coe_nat, nat.cast_coe, pnat.pos, int.coe_nat_ne_zero_iff_pos, nat.has_zero, int.has_zero, has_zero.zero, ne, iff.mpr, int.mod_nonneg, int.nat_abs_of_nonneg, zmod.cast_mod_int, eq.symm, eq.refl, eq.rec, eq.trans, congr_arg, congr, id, eq.mpr, int.coe_nat_inj, nat.has_lt, has_lt.lt, int.has_coe, int.has_mod, has_mod.mod, int.nat_abs, zmod.has_neg, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, int.cast_coe, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.val, nat, eq, int, pnat]), (zmod.val_cast_nat, [nat.modeq.modeq_add, nat.mod_mod, zero_add, nat.add_monoid, zmod.add_val, zmod.add_comm_semigroup, add_comm_semigroup.to_add_semigroup, nat.cast_add, add_monoid.to_has_zero, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_add_monoid, add_monoid.to_add_semigroup, add_semigroup.to_has_add, nat.succ_eq_add_one, nat.has_one, has_one.one, nat.has_add, has_add.add, nat.succ, nat.zero_mod, eq.refl, eq.rec, id, nat.has_zero, has_zero.zero, nat.zero, eq.mpr, nat.rec, nat.has_mod, has_mod.mod, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, zmod, coe_pnat_nat, coe_base, coe_to_lift, coe, fin.val, eq, nat, pnat]), (zmod.val_cast_of_lt, [nat.mod_eq_of_lt, zmod.val_cast_nat, eq.refl, eq.rec, id, nat.has_mod, has_mod.mod, eq.mpr, zmod.comm_ring, comm_ring.to_ring, ring.to_distrib, distrib.to_has_add, zmod.has_one, zmod.has_zero, nat.cast_coe, zmod, fin.val, eq, coe_pnat_nat, coe_base, coe_to_lift, coe, nat.has_lt, has_lt.lt, nat, pnat]), (zmod.zmod_one.subsingleton, [fin.is_lt, nat.le_of_lt_succ, nat.eq_zero_of_le_zero, eq.refl, eq.rec, id, nat.has_zero, has_zero.zero, fin.val, eq, eq.mpr, coe_pnat_nat, coe_base, coe_to_lift, nat, coe, fin.eq_of_veq, subsingleton.intro, pnat.comm_monoid, comm_monoid.to_monoid, monoid.to_has_one, pnat, has_one.one, zmod, subsingleton]), (zmodp, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod, nat.prime, nat]), (zmodp.card_units_zmodp, [zmodp.card_zmodp, finite_field.card_units, eq.refl, eq.rec, id, eq.mpr, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, zmodp.decidable_eq, zmodp.fintype, finite_field.fintype, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, zmodp, units, fintype.card, eq, nat.prime, nat]), (zmodp.card_zmodp, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.card_zmod, zmodp.fintype, zmodp, fintype.card, eq, nat.prime, nat]), (zmodp.cast_mod_int, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.cast_mod_int, int.has_coe, int.has_mod, has_mod.mod, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, int, nat.prime, nat]), (zmodp.cast_self_eq_zero, [trivial, eq_self_iff_true, propext, zmodp.zero_val, nat.mod_self, zmodp.val_cast_nat, nat.has_mod, has_mod.mod, congr_arg, congr, eq.trans, id, true, fin.val, eq.mpr, nat.prime.pos, nat.has_zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.eq_of_veq, has_zero.zero, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, nat.prime, nat]), (zmodp.cast_val, [zmod.cast_val, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, eq, zmodp, nat.prime, nat]), (zmodp.coe_val_cast_int, [zmod.coe_val_cast_int, int.has_mod, has_mod.mod, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, zmodp, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, int.has_coe, coe_base, coe_to_lift, coe, eq, int, nat.prime, nat]), (zmodp.comm_ring, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.comm_ring, zmodp, comm_ring, nat.prime, nat]), (zmodp.decidable_eq, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.decidable_eq, zmodp, decidable_eq, nat.prime, nat]), (zmodp.discrete_field, [zmodp.discrete_field._proof_14, zmodp.decidable_eq, zmodp.discrete_field._proof_13, zmodp.discrete_field._proof_12, _private.2699327575.mul_inv_cancel_aux, zmodp.discrete_field._proof_11, zmodp.has_inv, has_inv.inv, zmodp.discrete_field._proof_10, zmodp.discrete_field._proof_9, zmodp.discrete_field._proof_8, zmodp.discrete_field._proof_7, comm_ring.one, zmodp.discrete_field._proof_6, comm_ring.mul, zmodp.discrete_field._proof_5, zmodp.discrete_field._proof_4, comm_ring.neg, zmodp.discrete_field._proof_3, zmodp.discrete_field._proof_2, comm_ring.zero, zmodp.discrete_field._proof_1, zmodp.comm_ring, comm_ring.add, discrete_field.mk, zmodp, discrete_field, nat.prime, nat]), (zmodp.discrete_field._proof_1, [comm_ring.add_assoc, zmodp.comm_ring, comm_ring.add, has_add.mk, has_add.add, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_10, [comm_ring.right_distrib, comm_ring.add, has_add.mk, has_add.add, zmodp.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_11, [nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_zero_ne_one_class, zero_ne_one, nat.prime.gt_one, nat.mod_eq_of_lt, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_one, nat.has_mod, has_mod.mod, fin.ne_of_vne, comm_ring.one, has_one.mk, has_one.one, zmodp.comm_ring, comm_ring.zero, has_zero.mk, zmodp, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin, ne, nat.prime, nat]), (zmodp.discrete_field._proof_12, [_private.2699327575.mul_inv_cancel_aux, mul_comm, comm_ring.to_comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, zero_ne_one_class.one, zmodp.has_inv, has_inv.mk, has_inv.inv, comm_ring.right_distrib, comm_ring.left_distrib, comm_ring.mul_one, comm_ring.one_mul, comm_ring.mul_assoc, comm_ring.mul, comm_ring.add_comm, comm_ring.add_left_neg, comm_ring.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.add_assoc, comm_ring.add, ring.mk, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_zero_ne_one_class, zero_ne_one, nat.prime.gt_one, nat.mod_eq_of_lt, eq.refl, eq.rec, eq, id, eq.mpr, nat.has_one, nat.has_mod, has_mod.mod, has_one.mk, has_one.one, has_zero.mk, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.ne_of_vne, comm_ring.one, zmodp.comm_ring, comm_ring.zero, zero_ne_one_class.mk, zero_ne_one_class.zero, ne, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_13, [comm_ring.mul_comm, comm_ring.mul_assoc, zmodp.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_14, [eq.refl, nat.xgcd_aux.equations._eqn_1, nat.xgcd.equations._eqn_1, nat.xgcd_aux, nat.gcd_a.equations._eqn_1, nat.xgcd, eq.trans, has_lift_t, congr_arg, congr, id, int.has_one, has_one.one, int.has_zero, prod.mk, prod, prod.snd, prod.fst, eq.mpr, nat.has_zero, has_zero.zero, nat.gcd_a, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, zmodp, eq, nat.prime, nat]), (zmodp.discrete_field._proof_2, [comm_ring.zero_add, comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, zmodp.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_3, [comm_ring.add_zero, comm_ring.zero, has_zero.mk, has_zero.zero, comm_ring.add_assoc, zmodp.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_4, [comm_ring.add_left_neg, add_monoid.to_has_zero, has_zero.zero, comm_ring.neg, has_neg.mk, has_neg.neg, comm_ring.add_zero, comm_ring.zero_add, comm_ring.zero, comm_ring.add_assoc, zmodp.comm_ring, comm_ring.add, add_monoid.mk, add_monoid.to_add_semigroup, add_semigroup.to_has_add, has_add.add, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_5, [comm_ring.add_comm, comm_ring.add_assoc, zmodp.comm_ring, comm_ring.add, add_semigroup.mk, add_semigroup.to_has_add, has_add.add, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_6, [comm_ring.mul_assoc, zmodp.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_7, [comm_ring.one_mul, comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, zmodp.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_8, [comm_ring.mul_one, comm_ring.one, has_one.mk, has_one.one, comm_ring.mul_assoc, zmodp.comm_ring, comm_ring.mul, semigroup.mk, semigroup.to_has_mul, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.discrete_field._proof_9, [comm_ring.left_distrib, comm_ring.add, has_add.mk, has_add.add, zmodp.comm_ring, comm_ring.mul, has_mul.mk, has_mul.mul, eq, zmodp, nat.prime, nat]), (zmodp.eq_iff_modeq_int, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.eq_iff_modeq_int, int.has_coe, int.modeq, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, iff, int, nat.prime, nat]), (zmodp.eq_iff_modeq_nat, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.eq_iff_modeq_nat, nat.modeq, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, iff, nat.prime, nat]), (zmodp.eq_zero_iff_dvd_nat, [nat.prime.pos, nat.has_zero, nat.has_lt, gt, subtype.mk, zmod.eq_zero_iff_dvd_nat, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, has_zero.zero, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, iff, nat.prime, nat]), (zmodp.euler_criterion, [iff.mpr, eq_false_intro, nat.succ_pos, nat.succ, zero_pow, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, eq_true_intro, eq.symm, true, false_of_true_eq_false, false, false.elim, propext, eq.rec, id, eq.mpr, Exists.intro, zmodp.euler_criterion_units, units.ext_iff, iff.mp, units.coe_one, eq.refl, units.mk0_val, has_pow, units.coe_pow, eq.trans, congr_arg, congr, units.has_one, units.mk0, units.group, group.to_monoid, units.has_coe, coe_base, coe_to_lift, units, coe, eq.mp, monoid.to_has_one, id_rhs, Exists.dcases_on, iff.intro, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, nat.has_div, has_div.div, nat.has_one, has_one.one, nat.has_add, bit0, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, eq, Exists, iff, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, zmodp, nat.prime, nat]), (zmodp.euler_criterion_units, [finite_field.is_cyclic, is_cyclic.exists_generator, order_of_dvd_of_pow_eq_one, order_of_eq_card_of_forall_mem_gppowers, order_of, nat.decidable_lt, nat.has_zero, has_zero.zero, nat.has_lt, has_lt.lt, nat.prime.ge_two, nat.div_pos, nat.dvd_of_mul_dvd_mul_right, mul_comm, nat.comm_semigroup, comm_semigroup.to_semigroup, semigroup.to_has_mul, Exists.intro, comm_semiring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, nat.comm_semiring, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, pow_card_eq_one, monoid.to_has_one, zmodp.card_units_zmodp, fintype.card, nat.two_mul_odd_div_two, nat.has_sub, has_sub.sub, pow_mul, nat.has_mul, has_mul.mul, eq.refl, id, eq.mpr, iff.intro, powers_eq_gpowers, eq.subst, powers, id_rhs, Exists.dcases_on, gpowers, set.has_mem, set, has_mem.mem, eq.symm, trivial, units.decidable_eq, fintype.decidable_exists_fintype, iff.decidable, zmodp.decidable_eq, zmodp.fintype, finite_field.fintype, fintype.decidable_forall_fintype, of_as_true, eq.rec, nat.prime.eq_two_or_odd, nat.has_mod, has_mod.mod, or.elim, units.has_one, nat.has_div, has_div.div, nat.has_one, has_one.one, nat.has_add, bit0, units.group, group.to_monoid, monoid.has_pow, has_pow.pow, eq, Exists, iff, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_ring, ring.to_monoid, zmodp, units, nat.prime, nat]), (zmodp.fermat_little, [units.decidable_eq, pow_card_eq_one, zmodp.card_units_zmodp, zmodp.decidable_eq, zmodp.fintype, finite_field.fintype, fintype.card, units.ext_iff, propext, units.coe_pow, units.group, group.to_monoid, units.coe_one, monoid.to_has_one, units.has_one, units.mk0_val, eq.symm, eq.refl, eq.rec, id, units.mk0, units.has_coe, coe_base, coe_to_lift, units, coe, eq.mpr, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, eq, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, zmodp, nat.prime, nat]), (zmodp.fintype, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, zmod.fintype, zmodp, fintype, nat.prime, nat]), (zmodp.has_inv, [nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, nat.gcd_a, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, has_inv.mk, zmodp, has_inv, nat.prime, nat]), (zmodp.le_div_two_iff_lt_neg, [zmod.le_div_two_iff_lt_neg, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, has_lt.lt, nat.has_div, has_div.div, nat.prime.pos, nat.has_zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, nat.has_le, has_le.le, iff, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ne, zmodp, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (zmodp.legendre_sym, [int.has_neg, has_neg.neg, int.has_one, zmodp.fintype, fintype.decidable_exists_fintype, nat.has_one, has_one.one, nat.has_add, bit0, ring.to_monoid, monoid.has_pow, has_pow.pow, Exists, int.has_zero, zmodp.decidable_eq, has_zero.zero, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, ite, int, nat.prime, nat]), (zmodp.legendre_sym.equations._eqn_1, [eq.refl, int.has_neg, has_neg.neg, int.has_one, zmodp.fintype, fintype.decidable_exists_fintype, nat.has_one, has_one.one, nat.has_add, bit0, ring.to_monoid, monoid.has_pow, has_pow.pow, Exists, int.has_zero, zmodp.decidable_eq, has_zero.zero, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ite, zmodp.legendre_sym, int, eq, nat.prime, nat]), (zmodp.legendre_sym_eq_one_or_neg_one, [true_or, neg_inj', ring.to_module, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, trivial, or_true, eq_self_iff_true, eq.trans, true, if_neg, not, iff_false_intro, propext, false, eq.mp, false.rec, if_pos, dite, eq.refl, zmodp.legendre_sym.equations._eqn_1, congr_arg, congr, id, zmodp.fintype, fintype.decidable_exists_fintype, nat.has_one, nat.has_add, bit0, ring.to_monoid, monoid.has_pow, has_pow.pow, Exists, int.has_zero, zmodp.decidable_eq, ite, eq.mpr, int.has_one, has_one.one, int.has_neg, has_neg.neg, zmodp.legendre_sym, int, eq, or, has_zero.zero, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ne, nat.prime, nat]), (zmodp.legendre_sym_eq_pow, [zmodp.euler_criterion, zero_ne_one, zero_ne_one_class.to_has_zero, zmodp.ne_neg_self, zmodp.comm_ring, comm_ring.to_ring, ring.to_add_comm_group, ne.symm, neg_inj', has_neg, int.cast_neg, exists_false, not_exists, iff_false, ne.def, iff.trans, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_monoid.to_has_zero, add_group.to_add_monoid, int.cast_one, if_false, iff_true, eq.mp, iff_true_intro, iff_false_intro, false, zmodp.pow_div_two_eq_neg_one_or_one, or, or.dcases_on, ne, eq.symm, fintype.decidable_forall_fintype, nat.prime_two, of_as_true, nat.prime.eq_two_or_odd, nat.has_mod, has_mod.mod, or.elim, not, trivial, nat.succ_pos, nat.prime.ge_two, nat.div_pos, zero_pow, has_pow, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, int.cast_zero, if_true, if_simp_congr, zmodp.legendre_sym.equations._eqn_1, int.has_neg, has_neg.neg, int.has_one, exists_congr, zmodp.fintype, fintype.decidable_exists_fintype, Exists, eq_self_iff_true, propext, eq.refl, iff.refl, iff, eq.rec, decidable_of_decidable_of_iff, ite, has_lift_t, int.has_zero, congr_arg, congr, eq.trans, id, true, eq.mpr, zmodp.decidable_eq, has_zero.zero, dite, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_div, has_div.div, nat.cast_coe, ring.to_monoid, monoid.has_pow, has_pow.pow, zmodp.legendre_sym, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, int.cast_coe, coe_base, coe_to_lift, int, coe, zmodp, eq, nat.prime, nat]), (zmodp.mk_eq_cast, [zmod.mk_eq_cast, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, zmodp, fin.mk, nat.prime.pos, nat.has_zero, has_zero.zero, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin, eq, nat.has_lt, has_lt.lt, nat.prime, nat]), (zmodp.mul_inv_eq_gcd, [trivial, eq_self_iff_true, propext, zmodp.cast_mod_int, int.cast_mul, int.coe_nat_mod, int.has_mod, zmodp.val_cast_nat, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, has_lift_t, has_mul, congr_arg, congr, eq.trans, true, int.modeq.gcd_a_modeq, zmodp.eq_iff_modeq_int, int.modeq, iff.mpr, nat.gcd_a, int.has_mul, nat.gcd_rec, nat.has_mod, has_mod.mod, nat.gcd_comm, int.cast_coe_nat, eq.symm, eq.refl, eq.rec, id, int.has_coe, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, int.cast_coe, int, eq.mpr, nat.gcd, zmodp.has_inv, has_inv.inv, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, has_mul.mul, zmodp, eq, nat.prime, nat]), (zmodp.ne_neg_self, [nat.prime.pos, nat.has_zero, nat.has_lt, gt, subtype.mk, zmod.ne_neg_self, ring.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, has_zero.zero, ne, zmodp, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (zmodp.pow_div_two_eq_neg_one_or_one, [zmodp.fermat_little, nat.two_mul_odd_div_two, nat.has_mul, nat.has_sub, has_sub.sub, two_mul, semiring.to_monoid, monoid.to_has_one, semiring.to_distrib, distrib.to_has_add, nat.semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, pow_add, monoid.to_semigroup, semigroup.to_has_mul, has_add.add, mul_self_eq_one_iff, propext, eq.refl, integral_domain.to_comm_ring, comm_ring.to_ring, ring.to_add_comm_group, id, integral_domain.to_zero_ne_one_class, field.to_integral_domain, integral_domain.to_no_zero_divisors, no_zero_divisors.to_has_mul, has_mul.mul, eq.mpr, eq.symm, trivial, or.decidable, zmodp.decidable_eq, ne.decidable, forall_prop_decidable, zmodp.fintype, fintype.decidable_forall_fintype, of_as_true, eq.rec, nat.prime.eq_two_or_odd, nat.has_mod, has_mod.mod, or.elim, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_div, has_div.div, domain.to_ring, ring.to_monoid, monoid.has_pow, has_pow.pow, eq, or, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, has_zero.zero, ne, zmodp, nat.prime, nat]), (zmodp.prime_ne_zero, [nat.coprime_primes, nat.prime.coprime_iff_not_dvd, nat.comm_semiring, nat.coprime, nat.modeq.modeq_zero_iff, nat.canonically_ordered_comm_semiring, canonically_ordered_comm_semiring.to_comm_semiring, comm_semiring_has_dvd, has_dvd.dvd, zmodp.eq_iff_modeq_nat, propext, nat.modeq, ne.def, not, nat.cast_zero, eq.symm, eq.refl, eq.rec, eq, id, nat.has_zero, eq.mpr, has_zero.zero, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, ne, nat.prime, nat]), (zmodp.prod_range_prime_erase_zero, [zmodp.wilsons_lemma, finset.prod_range_id_eq_fact, nat.fact, ring.to_semiring, nat.cast_mul, add_group.to_add_monoid, nat.cast_one, finset.prod_hom, nat.comm_monoid, finset.has_mem, has_mem.mem, nat.prime.pos, nat.succ_sub, nat.succ_sub_one, eq.symm, eq.rec, nat.has_one, eq.refl, eq.drec, finset, decidable_eq, finset.prod_congr, congr_arg, congr, eq.trans, id, nat.has_sub, has_sub.sub, nat.succ, eq.mpr, has_one.one, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, nat.has_zero, has_zero.zero, finset.range, nat.decidable_eq, finset.erase, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, finset.prod, zmodp, eq, nat.prime, nat]), (zmodp.quadratic_reciprocity, [and.right, or.comm, auto.not_or_eq, and.left, prod.add_group, if_neg, eq_false_intro, false_of_true_eq_false, classical.by_contradiction, imp_self, if_pos, dite, finset.prod_insert, imp_congr_eq, comm_monoid.to_monoid, monoid.to_semigroup, semigroup.to_has_mul, finset.has_emptyc, has_emptyc.emptyc, or.inl, finset.induction_on, or_true, prod.ring, true_or, and_self, and.elim_right, quadratic_reciprocity_aux.prod_filter_range_p_mul_q_div_two_eq_prod_product, quadratic_reciprocity_aux.prod_range_p_mul_q_div_two_ite_eq, quadratic_reciprocity_aux.range_p_product_range_q_div_two_prod, finset.erase, finset.product, prod.mk.inj_iff, prod.monoid, one_mul, finset.has_mem, has_mem.mem, finset.range_succ, eq.rec, eq.drec, decidable_pred, finset.prod_congr, nat.decidable_eq, finset.has_insert, finset, insert, prod.has_mul, and.elim_left, rfl, false_or, true_and, or_self, false_and, not_true, or_false, and_false, one_ne_zero, zmodp.ne_neg_self, iff_false_intro, prod.snd_neg, neg_inj', prod.fst_neg, and_true, prod.ext_iff, zmodp.legendre_sym_eq_pow, int.cast_pow, eq.symm, int.cast_one, int.cast_neg, has_lift_t, add_monoid.to_add_semigroup, add_semigroup.to_has_add, add_group.to_add_monoid, add_monoid.to_has_zero, mul_zero_class.to_has_zero, int.cast_coe, prod.snd, prod.fst, and, ne.def, not, false, comm_ring.to_ring, eq.mp, false.rec, trivial, eq_self_iff_true, propext, one_pow, eq.refl, has_pow, pow_mul, neg_neg, mul_one, neg_mul_eq_neg_mul_symm, has_neg, mul_neg_eq_neg_mul_symm, has_mul, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_mul, congr_arg, congr, eq.trans, id, true, eq.mpr, neg_one_pow_eq_or, monoid.to_has_one, ring.to_add_comm_group, int.decidable_linear_ordered_comm_ring, decidable_linear_ordered_comm_ring.to_linear_ordered_comm_ring, linear_ordered_comm_ring.to_linear_ordered_ring, to_domain, ne.symm, zmodp.prime_ne_zero, zmodp.legendre_sym_eq_one_or_neg_one, or.dcases_on, no_zero_divisors.to_has_mul, ring.to_monoid, prod.mk, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, prod.has_neg, prod.has_one, nat.decidable_le, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, nat.has_le, has_le.le, ite, nat.succ, finset.range, nat.decidable, nat.coprime, finset.filter, zmodp.comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, prod.comm_monoid, finset.prod, zmodp, prod, or, nat.has_div, has_div.div, nat.has_mul, int.has_one, int.has_neg, has_neg.neg, int.monoid, monoid.has_pow, has_pow.pow, zmodp.legendre_sym, int.has_mul, has_mul.mul, int, ne, nat.has_one, has_one.one, nat.has_add, bit0, nat.has_mod, has_mod.mod, eq, nat.prime, nat]), (zmodp.val_cast_nat, [zmod.val_cast_nat, nat.has_mod, has_mod.mod, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, zmodp, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, eq, nat.prime, nat]), (zmodp.val_cast_of_lt, [zmod.val_cast_of_lt, ring.to_distrib, distrib.to_has_add, ring.to_monoid, monoid.to_has_one, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, nat.cast_coe, zmodp, nat.prime.pos, nat.has_zero, has_zero.zero, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, eq, nat.has_lt, has_lt.lt, nat.prime, nat]), (zmodp.wilsons_lemma, [eq.mp, zmodp.val_cast_of_lt, units.mk0_val, fin, finset.mem_univ, not_false_iff, and.left, iff_false_intro, ne.def, nat.zero_mod, and.right, nat.mod_eq_of_lt, pnat.mk_coe, has_mod, false, not, nat.cast_zero, zmod.val_cast_nat, zmod.comm_ring, zmod.has_one, zmod.has_zero, zmod, nat.has_mod, has_mod.mod, fin.ne_of_vne, units.mk0, Exists, Exists.intro, units.ext_iff, function.comp, trivial, eq_self_iff_true, zmodp.cast_val, congr_arg, congr, eq.trans, true, units.val, fin.is_lt, nat.succ_sub_one, nat.succ_sub, finset.mem_range, propext, has_lt.lt, nonzero_comm_ring.to_zero_ne_one_class, zero_ne_one_class.to_has_zero, comm_ring.to_ring, fin.eq_of_veq, units.coe_ne_zero, and.intro, finset.mem_erase, ne, and, iff.mpr, nat.prime.pos, nat.has_lt, gt, subtype.mk, coe_pnat_nat, pnat, fin.val, finset.has_mem, finset, has_mem.mem, finset.prod_bij, ring.to_semiring, nat.cast_mul, add_group.to_add_monoid, nat.cast_one, units.coe_mul, finset.prod_hom, zmodp.comm_ring, finite_field.prod_univ_units_id_eq_neg_one, zmodp.decidable_eq, zmodp.fintype, finite_field.fintype, finset.univ, field.to_integral_domain, integral_domain.to_nonzero_comm_ring, nonzero_comm_ring.to_comm_ring, comm_ring.to_comm_semiring, comm_semiring.to_comm_monoid, units.comm_group, comm_group.to_comm_monoid, units.coe_neg, ring.to_add_comm_group, units.has_neg, units.coe_one, monoid.to_has_one, units.has_one, units.has_coe, ring.to_monoid, units, finset.prod_range_id_eq_fact, eq.symm, eq.refl, eq.rec, id, nat.has_zero, has_zero.zero, nat.succ, finset.range, nat.decidable_eq, finset.erase, nat.comm_monoid, finset.prod, eq.mpr, ring.to_module, module.to_add_comm_group, add_comm_group.to_add_group, add_group.to_has_neg, has_neg.neg, nat.has_one, has_one.one, nat.has_sub, has_sub.sub, nat.fact, domain.to_ring, ring.to_distrib, distrib.to_has_add, domain.to_zero_ne_one_class, zero_ne_one_class.to_has_one, zmodp.discrete_field, discrete_field.to_field, field.to_division_ring, division_ring.to_domain, domain.to_no_zero_divisors, no_zero_divisors.to_has_zero, nat.cast_coe, coe_base, coe_to_lift, coe, zmodp, eq, nat.prime, nat]), (zmodp.zero_val, [rfl, zmodp.comm_ring, comm_ring.to_ring, ring.to_semiring, semiring.to_mul_zero_class, mul_zero_class.to_has_zero, zmodp, nat.prime.pos, nat.has_zero, has_zero.zero, nat.has_lt, gt, subtype.mk, coe_pnat_nat, coe_base, coe_to_lift, pnat, coe, fin.val, eq, nat.prime, nat])]