theorem
heq.subst
{α β : Sort u}
{a : α}
{b : β}
{p : Π (T : Sort u), T → Prop} :
a == b → p α a → p β b
theorem
eq_rec_heq
{α : Sort u}
{φ : α → Sort v}
{a a' : α}
(h : a = a')
(p : φ a) :
h.rec_on p == p
theorem
heq_of_eq_rec_left
{α : Sort u}
{φ : α → Sort v}
{a a' : α}
{p₁ : φ a}
{p₂ : φ a'}
(e : a = a') :
theorem
heq_of_eq_rec_right
{α : Sort u}
{φ : α → Sort v}
{a a' : α}
{p₁ : φ a}
{p₂ : φ a'}
(e : a' = a) :
theorem
eq_rec_compose
{α β φ : Sort u}
(p₁ : β = φ)
(p₂ : α = β)
(a : α) :
p₁.rec_on (p₂.rec_on a) = _.rec_on a
Equations
Equations
Equations
theorem
exists.elim
{α : Sort u}
{p : α → Prop}
{b : Prop} :
(∃ (x : α), p x) → (∀ (a : α), p a → b) → b
Equations
- exists_unique p = ∃ (x : α), p x ∧ ∀ (y : α), p y → y = x
theorem
exists_unique.intro
{α : Sort u}
{p : α → Prop}
(w : α) :
p w → (∀ (y : α), p y → y = w) → (∃! (x : α), p x)
theorem
exists_unique.elim
{α : Sort u}
{p : α → Prop}
{b : Prop} :
(∃! (x : α), p x) → (∀ (x : α), p x → (∀ (y : α), p y → y = x) → b) → b
theorem
exists_unique_of_exists_of_unique
{α : Type u}
{p : α → Prop} :
(∃ (x : α), p x) → (∀ (y₁ y₂ : α), p y₁ → p y₂ → y₁ = y₂) → (∃! (x : α), p x)
theorem
unique_of_exists_unique
{α : Sort u}
{p : α → Prop}
(h : ∃! (x : α), p x)
{y₁ y₂ : α} :
p y₁ → p y₂ → y₁ = y₂
theorem
exists_imp_exists
{α : Sort u}
{p q : α → Prop} :
(∀ (a : α), p a → q a) → (∃ (a : α), p a) → (∃ (a : α), q a)
theorem
exists_unique_congr
{α : Sort u}
{p₁ p₂ : α → Prop} :
(∀ (x : α), p₁ x ↔ p₂ x) → (exists_unique p₁ ↔ ∃! (x : α), p₂ x)
Equations
- decidable.to_bool p = h.cases_on (λ (h₁ : ¬p), bool.ff) (λ (h₂ : p), bool.tt)
@[simp]
@[instance]
Equations
@[instance]
Equations
def
decidable.rec_on_true
{p : Prop}
[h : decidable p]
{h₁ : p → Sort u}
{h₂ : ¬p → Sort u}
(h₃ : p) :
h₁ h₃ → h.rec_on h₂ h₁
Equations
- decidable.rec_on_true h₃ h₄ = h.rec_on (λ (h : ¬p), false.rec ((decidable.is_false h).rec_on h₂ h₁) _) (λ (h : p), h₄)
def
decidable.rec_on_false
{p : Prop}
[h : decidable p]
{h₁ : p → Sort u}
{h₂ : ¬p → Sort u}
(h₃ : ¬p) :
h₂ h₃ → h.rec_on h₂ h₁
Equations
- decidable.rec_on_false h₃ h₄ = h.rec_on (λ (h : ¬p), h₄) (λ (h : p), false.rec ((decidable.is_true h).rec_on h₂ h₁) _)
Equations
Equations
- decidable_of_decidable_of_iff hp h = dite p (λ (hp : p), decidable.is_true _) (λ (hp : ¬p), decidable.is_false _)
Equations
@[instance]
Equations
- and.decidable = dite p (λ (hp : p), dite q (λ (hq : q), decidable.is_true _) (λ (hq : ¬q), decidable.is_false _)) (λ (hp : ¬p), decidable.is_false _)
@[instance]
Equations
- or.decidable = dite p (λ (hp : p), decidable.is_true _) (λ (hp : ¬p), dite q (λ (hq : q), decidable.is_true _) (λ (hq : ¬q), decidable.is_false _))
@[instance]
Equations
- not.decidable = dite p (λ (hp : p), decidable.is_false _) (λ (hp : ¬p), decidable.is_true hp)
@[instance]
Equations
- implies.decidable = dite p (λ (hp : p), dite q (λ (hq : q), decidable.is_true _) (λ (hq : ¬q), decidable.is_false _)) (λ (hp : ¬p), decidable.is_true _)
@[instance]
Equations
- iff.decidable = dite p (λ (hp : p), dite q (λ (hq : q), decidable.is_true _) (λ (hq : ¬q), decidable.is_false _)) (λ (hp : ¬p), dite q (λ (hq : q), decidable.is_false _) (λ (hq : ¬q), decidable.is_true _))
@[instance]
Equations
- xor.decidable = dite p (λ (hp : p), dite q (λ (hq : q), decidable.is_false _) (λ (hq : ¬q), decidable.is_true _)) (λ (hp : ¬p), dite q (λ (hq : q), decidable.is_true _) (λ (hq : ¬q), decidable.is_false _))
@[instance]
def
exists_prop_decidable
{p : Prop}
(P : p → Prop)
[Dp : decidable p]
[DP : Π (h : p), decidable (P h)] :
decidable (∃ (h : p), P h)
Equations
- exists_prop_decidable P = dite p (λ (h : p), decidable_of_decidable_of_iff (DP h) _) (λ (h : ¬p), decidable.is_false _)
@[instance]
def
forall_prop_decidable
{p : Prop}
(P : p → Prop)
[Dp : decidable p]
[DP : Π (h : p), decidable (P h)] :
decidable (∀ (h : p), P h)
Equations
- forall_prop_decidable P = dite p (λ (h : p), decidable_of_decidable_of_iff (DP h) _) (λ (h : ¬p), decidable.is_true _)
@[instance]
Equations
Equations
- is_dec_refl p = ∀ (x : α), p x x = bool.tt
@[instance]
def
decidable_eq_of_bool_pred
{α : Sort u}
{p : α → α → bool} :
is_dec_eq p → is_dec_refl p → decidable_eq α
Equations
- decidable_eq_of_bool_pred h₁ h₂ = λ (x y : α), dite (p x y = bool.tt) (λ (hp : p x y = bool.tt), decidable.is_true _) (λ (hp : ¬p x y = bool.tt), decidable.is_false _)
theorem
decidable_eq_inl_refl
{α : Sort u}
[h : decidable_eq α]
(a : α) :
h a a = decidable.is_true _
theorem
decidable_eq_inr_neg
{α : Sort u}
[h : decidable_eq α]
{a b : α}
(n : a ≠ b) :
h a b = decidable.is_false n
@[class]
- default : α
Instances
- unique.inhabited
- category_theory.inhabited_liftable_cone
- category_theory.inhabited_liftable_cocone
- category_theory.inhabited_lifts_to_limit
- category_theory.inhabited_lifts_to_colimit
- category_theory.connected.to_inhabited
- lie_group_morphism.inhabited
- lie_add_group_morphism.inhabited
- prop.inhabited
- pi.inhabited
- bool.inhabited
- true.inhabited
- prod.inhabited
- nat.inhabited
- list.inhabited
- char.inhabited
- string.inhabited
- subtype.inhabited
- sum.inhabited_left
- sum.inhabited_right
- name.inhabited
- option.inhabited
- options.inhabited
- format.inhabited
- level.inhabited
- expr.inhabited
- environment.implicit_infer_kind.inhabited
- environment.inhabited
- occurrences.inhabited
- punit.inhabited
- local_context.inhabited
- sort.inhabited
- sort.inhabited'
- psum.inhabited_left
- psum.inhabited_right
- vm_decl_kind.inhabited
- vm_obj_kind.inhabited
- tactic.new_goals.inhabited
- tactic.transparency.inhabited
- tactic.apply_cfg.inhabited
- smt_pre_config.inhabited
- ematch_config.inhabited
- cc_config.inhabited
- smt_config.inhabited
- rsimp.config.inhabited
- tactic.dunfold_config.inhabited
- tactic.dsimp_config.inhabited
- tactic.unfold_proj_config.inhabited
- tactic.simp_intros_config.inhabited
- tactic.delta_config.inhabited
- tactic.simp_config.inhabited
- tactic.rewrite_cfg.inhabited
- interactive.loc.inhabited
- tactic.unfold_config.inhabited
- param_info.inhabited
- subsingleton_info.inhabited
- fun_info.inhabited
- format.color.inhabited
- pos.inhabited
- environment.projection_info.inhabited
- reducibility_hints.inhabited
- congr_arg_kind.inhabited
- ulift.inhabited
- plift.inhabited
- string_imp.inhabited
- string.iterator_imp.inhabited
- rbnode.color.inhabited
- ordering.inhabited
- unification_constraint.inhabited
- pprod.inhabited
- unification_hint.inhabited
- doc_category.inhabited
- tactic_doc_entry.inhabited
- bin_tree.inhabited
- unsigned.inhabited
- string.iterator.inhabited
- rbnode.inhabited
- rbtree.inhabited
- rbmap.inhabited
- binder_info.inhabited
- binder.inhabited
- native.rb_set.inhabited
- native.rb_map.inhabited
- native.rb_lmap.inhabited
- name_set.inhabited
- name_map.inhabited
- tactic.goal.inhabited
- tactic.proof_state.inhabited
- lint_verbosity.inhabited
- parser.inhabited
- tactic.explode.status.inhabited
- tactic.explode.entries.inhabited
- auto.auto_config.inhabited
- auto.case_option.inhabited
- tactic.rcases_patt.inhabited
- norm_cast.label.inhabited
- norm_cast.inhabited
- simps_cfg.inhabited
- tactic.suggest.head_symbol_match.inhabited
- quot.inhabited
- quotient.inhabited
- trunc.inhabited
- to_additive.value_type.inhabited
- units.inhabited
- add_units.inhabited
- monoid.End.inhabited
- add_monoid.End.inhabited
- monoid_hom.inhabited
- add_monoid_hom.inhabited
- order_dual.inhabited
- with_bot.inhabited
- with_top.inhabited
- set.inhabited
- with_one.inhabited
- with_zero.inhabited
- additive.inhabited
- multiplicative.inhabited
- opposite.inhabited
- int.inhabited
- multiset.inhabited
- sigma.inhabited
- psigma.inhabited
- tactic.interactive.mono_cfg.inhabited
- tactic.interactive.mono_selection.inhabited
- tactic.interactive.rep_arity.inhabited
- finset.inhabited
- vector.inhabited
- d_array.inhabited
- array.inhabited
- mul_equiv.inhabited
- add_equiv.inhabited
- mul_aut.inhabited
- add_aut.inhabited
- nat.primes.inhabited
- pnat.inhabited
- ulower.inhabited
- rat.inhabited
- tactic.abel.inhabited
- set.finite.inhabited
- tactic.ring.inhabited
- linarith.ineq.inhabited
- linarith.comp.inhabited
- linarith.comp_source.inhabited
- pos_num.inhabited
- num.inhabited
- znum.inhabited
- tree.inhabited
- associates.inhabited
- category_theory.functor.inhabited
- category_theory.nat_trans.inhabited
- category_theory.iso.inhabited
- category_theory.adjunction.inhabited
- submonoid.inhabited
- add_submonoid.inhabited
- free_monoid.inhabited
- free_add_monoid.inhabited
- subgroup.inhabited
- add_subgroup.inhabited
- quotient_group.inhabited
- quotient_add_group.inhabited
- Mon.inhabited
- AddMon.inhabited
- CommMon.inhabited
- AddCommMon.inhabited
- Group.inhabited
- AddGroup.inhabited
- CommGroup.inhabited
- AddCommGroup.inhabited
- ring_aut.inhabited
- SemiRing.inhabited
- Ring.inhabited
- CommSemiRing.inhabited
- CommRing.inhabited
- category_theory.discrete.inhabited
- category_theory.limits.walking_pair.inhabited
- category_theory.limits.walking_parallel_pair.inhabited
- category_theory.limits.inhabited
- category_theory.comma.inhabited
- category_theory.comma_morphism.inhabited
- category_theory.arrow.inhabited
- category_theory.limits.mono_factorisation.inhabited
- category_theory.limits.is_image.inhabited
- category_theory.limits.strong_epi_mono_factorisation_inhabited
- submodule.inhabited
- finsupp.inhabited
- set.set_semiring.inhabited
- linear_map.inhabited
- submodule.inhabited'
- submodule.quotient.inhabited
- Module.inhabited
- matrix.inhabited
- con.inhabited
- add_con.inhabited
- con.quotient.inhabited
- add_con.quotient.inhabited
- tensor_product.inhabited
- subsemiring.inhabited
- alg_equiv.inhabited
- algebra.comap.inhabited
- subalgebra.inhabited
- algebra.inhabited
- semimodule.restrict_scalars.inhabited
- Algebra.inhabited
- category_theory.limits.types.inhabited
- category_theory.over.inhabited
- category_theory.under.inhabited
- tactic.ring_exp.coeff.inhabited
- tactic.ring_exp.ex_type.inhabited
- monoid_algebra.inhabited
- add_monoid_algebra.inhabited
- polynomial.inhabited
- omega.term.inhabited
- omega.ee.inhabited
- omega.ee_state.inhabited
- omega.int.preterm.inhabited
- omega.int.preform.inhabited
- omega.nat.preterm.inhabited
- omega.nat.preform.inhabited
- mv_polynomial.inhabited
- CommRing.colimits.inhabited
- CommRing.colimits.colimit_type.inhabited
- AddCommGroup.colimits.inhabited
- AddCommGroup.colimits.colimit_type.inhabited
- category_theory.limits.wide_pullback_shape.inhabited
- category_theory.limits.wide_pushout_shape.inhabited
- category_theory.limits.wide_pullback_shape.hom.inhabited
- category_theory.limits.wide_pushout_shape.hom.inhabited
- free_group.inhabited
- abelianization.inhabited
- free_abelian_group.inhabited
- Mon.colimits.inhabited
- Mon.colimits.colimit_type.inhabited
- cardinal.inhabited
- Well_order.inhabited
- ordinal.inhabited
- ideal.quotient.inhabited
- local_ring.inhabited
- rel.inhabited
- roption.inhabited
- pfun.inhabited
- enat.inhabited
- bilin_form.inhabited
- dfinsupp.inhabited_pre
- dfinsupp.inhabited
- direct_sum.inhabited
- lie_algebra.inhabited
- lie_algebra.equiv.inhabited
- lie_subalgebra.inhabited
- lie_submodule.inhabited
- computation.inhabited
- seq.inhabited
- seq1.inhabited
- generalized_continued_fraction.pair.inhabited
- generalized_continued_fraction.inhabited
- simple_continued_fraction.inhabited
- continued_fraction.inhabited
- generalized_continued_fraction.int_fract_pair.inhabited
- stream.inhabited
- filter.inhabited_mem
- filter.inhabited
- filter_basis.inhabited
- filter.nat.inhabited_countable_filter_basis
- free_ring.inhabited
- free_comm_ring.inhabited
- free_magma.inhabited
- free_add_magma.inhabited
- magma.free_semigroup.inhabited
- add_magma.free_add_semigroup.inhabited
- free_semigroup.inhabited
- free_add_semigroup.inhabited
- category_theory.inhabited_graded_object
- homological_complex.inhabited
- tactic.inhabited
- filter.ultrafilter.inhabited
- inhabited_topological_space
- continuous_map.inhabited
- topological_space.opens.inhabited
- topological_space.open_nhds_of.inhabited
- Top.inhabited
- linear_recurrence.inhabited
- cau_seq.inhabited
- cau_seq.completion.inhabited
- real.inhabited
- complex.inhabited
- affine_subspace.inhabited
- affine_map.inhabited
- nnreal.inhabited
- ennreal.inhabited
- inhabited_uniform_space
- inhabited_uniform_space_core
- uniform_space.separation_quotient.inhabited
- tactic.tfae.arrow.inhabited
- continuous_linear_map.inhabited
- bounded_continuous_function.inhabited
- topological_space.compacts.inhabited
- multilinear_map.inhabited
- continuous_multilinear_map.inhabited
- zeroth_homotopy.inhabited
- formal_multilinear_series.inhabited
- real.angle.inhabited
- composition_as_set.inhabited
- composition.inhabited
- linear_pmap.inhabited
- convex_cone.inhabited
- expr_lens.dir.inhabited
- normed_space.inhabited
- enorm.inhabited
- pi_Lp.inhabited
- category_theory.abelian.pseudoelement.inhabited
- category_theory.Cat.inhabited
- category_theory.action_category.inhabited
- category_theory.Groupoid.inhabited
- category_theory.Rel.inhabited
- category_theory.braided_functor.inhabited
- category_theory.parallel_pair_inhabited
- category_theory.limits.diagram_of_cones_inhabited
- category_theory.monad_hom.inhabited
- category_theory.comonad_hom.inhabited
- category_theory.Monad.inhabited
- category_theory.Monad.hom.inhabited
- category_theory.Comonad.inhabited
- category_theory.Comonad.hom.inhabited
- Mon_.hom_inhabited
- Mod.hom_inhabited
- Mod.inhabited
- Mon_Type_inhabited
- category_theory.inhabited
- category_theory.quotient.inhabited
- sym.inhabited_sym
- sym.inhabited_sym'
- simple_graph.inhabited
- nat.partrec.code.inhabited
- many_one_degree.inhabited
- turing.list_blank.inhabited
- turing.inhabited
- turing.tape.inhabited
- turing.dir.inhabited
- turing.TM0.stmt.inhabited
- turing.TM0.machine.inhabited
- turing.TM0.cfg.inhabited
- turing.TM1.stmt.inhabited
- turing.TM1.cfg.inhabited
- turing.TM1to0.inhabited
- turing.TM1to1.inhabited
- turing.TM0to1.inhabited
- turing.TM2.stmt.inhabited
- turing.TM2.cfg.inhabited
- turing.TM2to1.Γ'.inhabited
- turing.TM2to1.st_act.inhabited
- turing.TM2to1.Λ'.inhabited
- nzsnum.inhabited
- snum.inhabited
- turing.to_partrec.code.inhabited
- turing.to_partrec.cont.inhabited
- turing.to_partrec.cfg.inhabited
- turing.partrec_to_TM2.Γ'.inhabited
- turing.partrec_to_TM2.K'.inhabited
- turing.partrec_to_TM2.cont'.inhabited
- turing.partrec_to_TM2.inhabited
- turing.partrec_to_TM2.stmt'.inhabited
- turing.partrec_to_TM2.cfg'.inhabited
- typevec.inhabited
- typevec.arrow.inhabited
- typevec.last.inhabited
- typevec.curry.inhabited
- buffer.inhabited
- dlist.inhabited
- erased.inhabited
- alist.inhabited
- finmap.inhabited
- semiquot.inhabited
- fp.rmode.inhabited
- fp.inhabited
- bucket_array.inhabited
- holor.inhabited
- lazy_list.inhabited
- padic.inhabited
- derive_fintype.inhabited
- padic_int.inhabited
- pfunctor.inhabited
- pfunctor.obj.inhabited
- pfunctor.Idx.inhabited
- pfunctor.approx.inhabited
- pfunctor.approx.path.inhabited
- pfunctor.M.inhabited
- pfunctor.M_intl.inhabited
- mvpfunctor.inhabited
- mvpfunctor.obj.inhabited
- mvpfunctor.M.path.inhabited
- mvpfunctor.inhabited_M
- mvpfunctor.W_path.inhabited
- prime_multiset.inhabited
- pnat.xgcd_type.inhabited
- mvqpf.inhabited
- mvqpf.comp.inhabited
- mvqpf.const.inhabited
- mvqpf.prj.inhabited
- mvqpf.quot1.inhabited
- mvqpf.sigma.inhabited
- mvqpf.pi.inhabited
- qpf.inhabited
- filter.germ.inhabited
- hyperreal.inhabited
- wseq.inhabited
- zmod.inhabited
- zsqrtd.inhabited
- circle_deg1_lift.inhabited
- adjoin_root.inhabited
- polynomial.splitting_field_aux.inhabited
- polynomial.splitting_field.inhabited
- algebraic_closure.adjoin_monic.inhabited
- algebraic_closure.step.inhabited
- algebraic_closure.inhabited
- mv_polynomial.R.inhabited
- perfect_closure.inhabited
- structure_groupoid.inhabited
- pregroupoid.inhabited
- model_prod_inhabited
- basic_smooth_bundle_core.inhabited
- tangent_space.inhabited
- affine.simplex.inhabited
- affine.simplex.points_with_circumcenter_index_inhabited
- euclidean_half_space.inhabited
- euclidean_quadrant.inhabited
- localization.inhabited
- add_localization.inhabited
- semidirect_product.inhabited
- module.dual.inhabited
- matrix.special_linear_group.inhabited
- quadratic_form.inhabited
- ring_invo.inhabited
- sesq_form.inhabited
- tensor_algebra.pre.inhabited
- tensor_algebra.inhabited
- measurable_space.inhabited
- measurable_space.dynkin_system.inhabited
- measure_theory.outer_measure.inhabited
- measure_theory.measure.inhabited
- measure_theory.simple_func.inhabited
- measure_theory.ae_eq_fun.inhabited
- measure_theory.l1.inhabited
- measure_theory.l1.simple_func.inhabited
- Meas.inhabited
- pmf.inhabited
- lucas_lehmer.X.inhabited
- preorder_hom.inhabited
- Preorder.inhabited
- PartialOrder.inhabited
- LinearOrder.inhabited
- NonemptyFinLinOrd.inhabited
- order.ideal.inhabited
- order.inhabited
- lex.inhabited
- pilex.inhabited
- derivation.inhabited
- ring.fractional_ideal.inhabited
- mv_power_series.inhabited
- power_series.inhabited
- pgame.inhabited
- game.inhabited
- pgame.domineering.board.inhabited
- lists'.inhabited
- lists.inhabited
- finsets.inhabited
- onote.inhabited
- nonote.inhabited
- surreal.inhabited
- arity.arity.inhabited
- pSet.inhabited
- pSet.resp.inhabited
- Set.inhabited
- Class.inhabited
- side.inhabited
- tactic.ring2.csring_expr.inhabited
- tactic.ring2.horner_expr.inhabited
- Cauchy.inhabited
- uniform_space.completion.inhabited
- uniform_space.completion.abstract_completion.inhabited
- open_subgroup.inhabited
- open_add_subgroup.inhabited
- UniformSpace.inhabited
- CpltSepUniformSpace.inhabited
- metric.inhabited_left
- metric.inhabited_right
- metric.inhabited
- Gromov_Hausdorff.inhabited
- Top.sheaf_condition_inhabited
- Top.sheaf_inhabited
- stone_cech.inhabited
- compare_reals.Q.inhabited
- compare_reals.Bourbakiℝ.inhabited
@[instance]
Equations
- prop.inhabited = {default := true}
@[instance]
def
pi.inhabited
(α : Sort u)
{β : α → Sort v}
[Π (x : α), inhabited (β x)] :
inhabited (Π (x : α), β x)
Equations
- pi.inhabited α = {default := λ (a : α), inhabited.default (β a)}
@[instance]
Equations
@[instance]
Equations
@[class]
- intro : ∀ (α : Sort u), α → nonempty α
Instances
- has_zero.nonempty
- has_one.nonempty
- has_Inf_to_nonempty
- has_Sup_to_nonempty
- irreducible_space.to_nonempty
- connected_space.to_nonempty
- path_connected_space.nonempty
- nontrivial.to_nonempty
- infinite.nonempty
- add_torsor.nonempty
- nonempty_of_inhabited
- prod.nonempty
- order_dual.nonempty
- nonempty_gt
- nonempty_lt
- filter_basis.nonempty_sets
- affine_map.nonempty
- topological_space.nonempty_compacts.to_nonempty
- affine.simplex.nonempty
- Cauchy.nonempty
- Gromov_Hausdorff.rep_GH_space_nonempty
@[simp, instance]
Equations
@[class]
- intro : ∀ (α : Sort u), (∀ (a b : α), a = b) → subsingleton α
Instances
- unique.subsingleton
- char_p.subsingleton
- subsingleton_prop
- decidable.subsingleton
- pi.subsingleton
- punit.subsingleton
- empty.subsingleton
- subsingleton.prod
- subsingleton_pempty
- trunc.subsingleton
- unique.subsingleton_unique
- ulift.subsingleton
- plift.subsingleton
- nat.subsingleton_ring_hom
- ring_hom.int.subsingleton_ring_hom
- vector.zero_subsingleton
- fintype.subsingleton
- rat.subsingleton_ring_hom
- category_theory.subsingleton
- add_comm_group.subsingleton
- category_theory.discrete.subsingleton
- category_theory.limits.is_limit.subsingleton
- category_theory.limits.is_colimit.subsingleton
- category_theory.arrow.subsingleton_has_lift_of_epi
- category_theory.arrow.subsingleton_has_lift_of_mono
- category_theory.limits.subsingleton
- category_theory.limits.has_zero_morphisms.subsingleton
- category_theory.limits.has_zero_object.subsingleton
- Module.subsingleton
- int_algebra_subsingleton
- nat_algebra_subsingleton
- category_theory.limits.preserves_limit_subsingleton
- category_theory.limits.preserves_colimit_subsingleton
- category_theory.limits.preserves_limits_of_shape_subsingleton
- category_theory.limits.preserves_colimits_of_shape_subsingleton
- category_theory.limits.preserves_limits_subsingleton
- category_theory.limits.preserves_colimits_subsingleton
- category_theory.limits.reflects_limit_subsingleton
- category_theory.limits.reflects_colimit_subsingleton
- category_theory.limits.reflects_limits_of_shape_subsingleton
- category_theory.limits.reflects_colimits_of_shape_subsingleton
- category_theory.limits.reflects_limits_subsingleton
- category_theory.limits.reflects_colimits_subsingleton
- polynomial.subsingleton
- subsingleton_fin_zero
- subsingleton_fin_one
- category_theory.limits.wide_pullback_shape.subsingleton_hom
- category_theory.limits.wide_pushout_shape.subsingleton_hom
- category_theory.limits.walking_cospan.subsingleton
- category_theory.limits.walking_span.subsingleton
- invertible.subsingleton
- initial_seg.subsingleton
- principal_seg.subsingleton
- category_theory.subsingleton_simple
- sym2.subsingleton
- typevec.subsingleton0
- pfunctor.approx.subsingleton
- zmod.subsingleton_units
- zmod.subsingleton_ring_hom
- pgame.subsingleton_short
- Top.sheaf_condition.subsingleton
Equations
Equations
- _ = _
theorem
rec_subsingleton
{p : Prop}
[h : decidable p]
{h₁ : p → Sort u}
{h₂ : ¬p → Sort u}
[h₃ : ∀ (h : p), subsingleton (h₁ h)]
[h₄ : ∀ (h : ¬p), subsingleton (h₂ h)] :
subsingleton (h.rec_on h₂ h₁)
@[instance]
Equations
- ite.decidable = ite.decidable._match_1 d_c
- ite.decidable._match_1 (decidable.is_true hc) = d_t
- ite.decidable._match_1 (decidable.is_false hc) = d_e
@[instance]
def
dite.decidable
{c : Prop}
{t : c → Prop}
{e : ¬c → Prop}
[d_c : decidable c]
[d_t : Π (h : c), decidable (t h)]
[d_e : Π (h : ¬c), decidable (e h)] :
Equations
- dite.decidable = dite.decidable._match_1 d_c
- dite.decidable._match_1 (decidable.is_true hc) = d_t hc
- dite.decidable._match_1 (decidable.is_false hc) = d_e hc
Equations
- transitive r = ∀ ⦃x y z : β⦄, r x y → r y z → r x z
Equations
- equivalence r = (reflexive r ∧ symmetric r ∧ transitive r)
def
mk_equivalence
{β : Sort v}
(r : β → β → Prop) :
reflexive r → symmetric r → transitive r → equivalence r
Equations
- _ = _
Equations
- irreflexive r = ∀ (x : β), ¬r x x
Equations
- anti_symmetric r = ∀ ⦃x y : β⦄, r x y → r y x → x = y
Equations
- empty_relation = λ (a₁ a₂ : α), false
Equations
- subrelation q r = ∀ ⦃x y : β⦄, q x y → r x y
theorem
inv_image.trans
{α : Sort u}
{β : Sort v}
(r : β → β → Prop)
(f : α → β) :
transitive r → transitive (inv_image r f)
theorem
inv_image.irreflexive
{α : Sort u}
{β : Sort v}
(r : β → β → Prop)
(f : α → β) :
irreflexive r → irreflexive (inv_image r f)
Equations
- commutative f = ∀ (a b : α), f a b = f b a
Equations
- associative f = ∀ (a b c : α), f (f a b) c = f a (f b c)
Equations
- left_identity f one = ∀ (a : α), f one a = a
Equations
- right_identity f one = ∀ (a : α), f a one = a
Equations
- right_inverse f inv one = ∀ (a : α), f a (inv a) = one
Equations
- left_cancelative f = ∀ (a b c : α), f a b = f a c → b = c
Equations
- right_cancelative f = ∀ (a b c : α), f a b = f c b → a = c
Equations
- left_distributive f g = ∀ (a b c : α), f a (g b c) = g (f a b) (f a c)
Equations
- right_distributive f g = ∀ (a b c : α), f (g a b) c = g (f a c) (f b c)
Equations
- right_commutative h = ∀ (b : β) (a₁ a₂ : α), h (h b a₁) a₂ = h (h b a₂) a₁
Equations
- left_commutative h = ∀ (a₁ a₂ : α) (b : β), h a₁ (h a₂ b) = h a₂ (h a₁ b)
theorem
right_comm
{α : Type u}
(f : α → α → α) :
commutative f → associative f → right_commutative f