Implication →
is transitive. If P → Q
and Q → R
then P → R
.
theorem
trans_rel_left
{α : Sort u}
{a b c : α}
(r : α → α → Prop)
(h₁ : r a b)
(h₂ : b = c) :
r a c
theorem
trans_rel_right
{α : Sort u}
{a b c : α}
(r : α → α → Prop)
(h₁ : a = b)
(h₂ : r b c) :
r a c
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')
(h₂ : e.rec_on p₁ = p₂) :
p₁ == p₂
theorem
heq_of_eq_rec_right
{α : Sort u}
{φ : α → Sort v}
{a a' : α}
{p₁ : φ a}
{p₂ : φ a'}
(e : a' = a)
(h₂ : p₁ = e.rec_on p₂) :
p₁ == p₂
theorem
eq_rec_compose
{α β φ : Sort u}
(p₁ : β = φ)
(p₂ : α = β)
(a : α) :
p₁.rec_on (p₂.rec_on a) = _.rec_on a
theorem
exists.elim
{α : Sort u}
{p : α → Prop}
{b : Prop}
(h₁ : ∃ (x : α), p x)
(h₂ : ∀ (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 : α)
(h₁ : p w)
(h₂ : ∀ (y : α), p y → y = w) :
∃! (x : α), p x
theorem
exists_unique.elim
{α : Sort u}
{p : α → Prop}
{b : Prop}
(h₂ : ∃! (x : α), p x)
(h₁ : ∀ (x : α), p x → (∀ (y : α), p y → y = x) → b) :
b
theorem
exists_unique_of_exists_of_unique
{α : Type u}
{p : α → Prop}
(hex : ∃ (x : α), p x)
(hunique : ∀ (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₂ : α}
(py₁ : p y₁)
(py₂ : p y₂) :
y₁ = y₂
theorem
forall_congr
{α : Sort u}
{p q : α → Prop}
(h : ∀ (a : α), p a ↔ q a) :
(∀ (a : α), p a) ↔ ∀ (a : α), q a
theorem
exists_imp_exists
{α : Sort u}
{p q : α → Prop}
(h : ∀ (a : α), p a → q a)
(p_1 : ∃ (a : α), p a) :
∃ (a : α), q a
theorem
exists_unique_congr
{α : Sort u}
{p₁ p₂ : α → Prop}
(h : ∀ (x : α), p₁ x ↔ p₂ x) :
exists_unique p₁ ↔ ∃! (x : α), p₂ x
@[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₃) :
h.rec_on h₂ h₁
Equations
- decidable.rec_on_true h₃ h₄ = h.rec_on (λ (h : ¬p), false.rec ((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₃) :
h.rec_on h₂ h₁
Equations
- decidable.rec_on_false h₃ h₄ = h.rec_on (λ (h : ¬p), h₄) (λ (h : p), false.rec ((is_true h).rec_on h₂ h₁) _)
Equations
Equations
@[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), 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), is_true _)
@[instance]
Equations
Equations
- is_dec_refl p = ∀ (x : α), p x x = tt
@[instance]
def
decidable_eq_of_bool_pred
{α : Sort u}
{p : α → α → bool}
(h₁ : is_dec_eq p)
(h₂ : is_dec_refl p) :
@[class]
- default : α
Instances
- unique.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
- local_context.inhabited
- occurrences.inhabited
- punit.inhabited
- json.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
- to_additive.value_type.inhabited
- parser.inhabited
- lint_verbosity.inhabited
- tactic.rcases_patt.inhabited
- tactic.explode.status.inhabited
- tactic.explode.entries.inhabited
- auto.auto_config.inhabited
- auto.case_option.inhabited
- norm_cast.label.inhabited
- norm_cast.inhabited
- simps_cfg.inhabited
- tactic.suggest.head_symbol_match.inhabited
- quot.inhabited
- quotient.inhabited
- trunc.inhabited
- units.inhabited
- add_units.inhabited
- monoid.End.inhabited
- add_monoid.End.inhabited
- monoid_hom.inhabited
- add_monoid_hom.inhabited
- additive.inhabited
- multiplicative.inhabited
- order_dual.inhabited
- as_linear_order.inhabited
- with_bot.inhabited
- with_top.inhabited
- set.inhabited
- with_one.inhabited
- with_zero.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
- set.finite.inhabited
- nat.primes.inhabited
- pnat.inhabited
- ulower.inhabited
- rat.inhabited
- tactic.ring.inhabited
- linarith.ineq.inhabited
- linarith.comp.inhabited
- linarith.comp_source.inhabited
- pos_num.inhabited
- num.inhabited
- znum.inhabited
- tree.inhabited
- tactic.abel.inhabited
- associates.inhabited
- mul_equiv.inhabited
- add_equiv.inhabited
- mul_aut.inhabited
- add_aut.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
- expr_lens.dir.inhabited
- finsupp.inhabited
- category_theory.functor.inhabited
- category_theory.nat_trans.inhabited
- category_theory.iso.inhabited
- category_theory.adjunction.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.arrow.lift_struct_inhabited
- category_theory.limits.mono_factorisation.inhabited
- category_theory.limits.is_image.inhabited
- category_theory.limits.inhabited_image_factorisation
- category_theory.limits.inhabited_image_map
- category_theory.limits.strong_epi_mono_factorisation_inhabited
- submodule.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
- subring.inhabited
- alg_equiv.inhabited
- algebra.comap.inhabited
- subalgebra.inhabited
- algebra.inhabited
- semimodule.restrict_scalars.inhabited
- Algebra.inhabited
- category_theory.limits.types.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.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
- 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
- tactic.tfae.arrow.inhabited
- free_group.inhabited
- abelianization.inhabited
- free_abelian_group.inhabited
- category_theory.monoidal_nat_trans.inhabited
- category_theory.lax_braided_functor.inhabited
- category_theory.braided_functor.inhabited
- Mon.colimits.inhabited
- Mon.colimits.colimit_type.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
- 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
- rel.inhabited
- roption.inhabited
- pfun.inhabited
- enat.inhabited
- filter.inhabited_mem
- filter.inhabited
- filter_basis.inhabited
- filter.nat.inhabited_countable_filter_basis
- dfinsupp.inhabited_pre
- dfinsupp.inhabited
- direct_sum.inhabited
- free_ring.inhabited
- free_comm_ring.inhabited
- ideal.quotient.inhabited
- local_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
- free_algebra.pre.inhabited
- free_algebra.inhabited
- category_theory.inhabited_graded_object
- homological_complex.inhabited
- cardinal.inhabited
- Well_order.inhabited
- ordinal.inhabited
- multilinear_map.inhabited
- module.dual.inhabited
- bilin_form.inhabited
- lie_algebra.inhabited
- lie_algebra.equiv.inhabited
- lie_subalgebra.inhabited
- lie_submodule.inhabited
- ring_quot.inhabited
- tensor_algebra.inhabited
- universal_enveloping_algebra.inhabited
- linear_recurrence.inhabited
- zmod.inhabited
- shelf_hom.inhabited
- rack.pre_envel_group.inhabited
- rack.pre_envel_group_rel'.inhabited
- rack.envel_group.inhabited
- tactic.inhabited
- filter.ultrafilter.inhabited
- inhabited_topological_space
- continuous_map.inhabited
- topological_space.opens.inhabited
- topological_space.open_nhds_of.inhabited
- Top.inhabited
- algebraic_geometry.PresheafedSpace.inhabited
- algebraic_geometry.PresheafedSpace.hom_inhabited
- Top.presheaf.sheaf_condition_inhabited
- Top.sheaf_inhabited
- algebraic_geometry.SheafedSpace.inhabited
- algebraic_geometry.LocallyRingedSpace.inhabited
- inhabited_uniform_space
- inhabited_uniform_space_core
- uniform_space.separation_quotient.inhabited
- continuous_linear_map.inhabited
- Top.inhabited_prelocal_predicate
- Top.inhabited_local_predicate
- localization.inhabited
- add_localization.inhabited
- algebraic_geometry.structure_sheaf.inhabited
- algebraic_geometry.Scheme.inhabited
- cau_seq.inhabited
- cau_seq.completion.inhabited
- real.inhabited
- complex.inhabited
- affine_subspace.inhabited
- affine_map.inhabited
- nnreal.inhabited
- ennreal.inhabited
- bounded_continuous_function.inhabited
- topological_space.compacts.inhabited
- continuous_multilinear_map.inhabited
- zeroth_homotopy.inhabited
- measurable_space.inhabited
- measurable_space.dynkin_system.inhabited
- measure_theory.outer_measure.inhabited
- measure_theory.measure.inhabited
- formal_multilinear_series.inhabited
- real.angle.inhabited
- composition_as_set.inhabited
- composition.inhabited
- linear_pmap.inhabited
- convex_cone.inhabited
- measure_theory.simple_func.inhabited
- filter.germ.inhabited
- measure_theory.ae_eq_fun.inhabited
- measure_theory.l1.inhabited
- measure_theory.l1.simple_func.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.pairwise.pairwise_inhabited
- category_theory.pairwise.hom_inhabited
- category_theory.grothendieck.inhabited
- category_theory.parallel_pair_inhabited
- category_theory.limits.diagram_of_cones_inhabited
- category_theory.is_kernel_pair.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_.inhabited
- Mon_.hom_inhabited
- CommMon_.inhabited
- Mod.hom_inhabited
- Mod.inhabited
- Mon_Type_inhabited
- CommMon_Type_inhabited
- category_theory.monoidal.inhabited
- category_theory.inhabited
- category_theory.quotient.inhabited
- category_theory.sieve.sieve_inhabited
- category_theory.inhabited_thin_skeleton
- category_theory.thin_skeleton.is_skeleton_of_inhabited
- sym.inhabited_sym
- sym.inhabited_sym'
- simple_graph.inhabited
- nzsnum.inhabited
- snum.inhabited
- derive_fintype.inhabited
- computability.inhabited_Γ'
- computability.inhabited_fin_encoding
- computability.inhabited_encoding
- 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
- turing.fin_tm2.inhabited
- turing.fin_tm2.stmt.inhabited
- turing.fin_tm2.inhabited_cfg
- turing.inhabited_fin_tm2
- turing.inhabited_tm2_computable_in_poly_time
- turing.inhabited_tm2_outputs_in_time
- turing.inhabited_tm2_outputs
- turing.inhabited_evals_to_in_time
- turing.inhabited_tm2_evals_to
- turing.inhabited_tm2_computable_in_time
- turing.inhabited_tm2_computable
- turing.inhabited_tm2_computable_aux
- 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
- preorder_hom.inhabited
- omega_complete_partial_order.chain.inhabited
- omega_complete_partial_order.continuous_hom.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
- 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
- hyperreal.inhabited
- wseq.inhabited
- zsqrtd.inhabited
- adjoin_root.inhabited
- polynomial.splitting_field_aux.inhabited
- polynomial.splitting_field.inhabited
- circle_deg1_lift.inhabited
- algebraic_closure.adjoin_monic.inhabited
- algebraic_closure.step.inhabited
- algebraic_closure.inhabited
- mv_polynomial.R.inhabited
- subfield.inhabited
- intermediate_field.inhabited
- perfect_closure.inhabited
- structure_groupoid.inhabited
- pregroupoid.inhabited
- model_prod_inhabited
- basic_smooth_bundle_core.inhabited
- tangent_space.inhabited
- lie_group_morphism.inhabited
- lie_add_group_morphism.inhabited
- affine.simplex.inhabited
- affine.simplex.points_with_circumcenter_index_inhabited
- euclidean_half_space.inhabited
- euclidean_quadrant.inhabited
- times_cont_mdiff_map.inhabited
- semidirect_product.inhabited
- matrix.special_linear_group.inhabited
- quadratic_form.inhabited
- ring_invo.inhabited
- sesq_form.inhabited
- Meas.inhabited
- pmf.inhabited
- lucas_lehmer.X.inhabited
- Preorder.inhabited
- PartialOrder.inhabited
- LinearOrder.inhabited
- NonemptyFinLinOrd.inhabited
- ωCPO.inhabited
- order.ideal.inhabited
- order.inhabited
- lex.inhabited
- pilex.inhabited
- ring.fractional_ideal.inhabited
- derivation.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
- slim_check.inhabited
- slim_check.test_result.inhabited
- slim_check.slim_check_cfg.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
- stone_cech.inhabited
- compare_reals.Q.inhabited
- compare_reals.Bourbakiℝ.inhabited
@[instance]
def
pi.inhabited
(α : Sort u)
{β : α → Sort v}
[Π (x : α), inhabited (β x)] :
inhabited (Π (x : α), β x)
Equations
- pi.inhabited α = {default := λ (a : α), default (β a)}
@[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
- category_theory.is_connected.is_nonempty
- nonempty_of_inhabited
- prod.nonempty
- order_dual.nonempty
- nonempty_gt
- nonempty_lt
- set.nonempty_Ici_subtype
- set.nonempty_Iic_subtype
- set.nonempty_Ioi_subtype
- set.nonempty_Iio_subtype
- filter_basis.nonempty_sets
- affine_map.nonempty
- topological_space.nonempty_compacts.to_nonempty
- category_theory.cofinal.nonempty
- affine.simplex.nonempty
- Cauchy.nonempty
- Gromov_Hausdorff.rep_GH_space_nonempty
@[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
- add_comm_group.subsingleton
- category_theory.subsingleton
- category_theory.discrete.subsingleton
- category_theory.limits.is_limit.subsingleton
- category_theory.limits.is_colimit.subsingleton
- category_theory.arrow.subsingleton_lift_struct_of_epi
- category_theory.arrow.subsingleton_lift_struct_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
- category_theory.functor_thin
- category_theory.subsingleton_iso
- 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
- subsingleton_fin_zero
- subsingleton_fin_one
- invertible.subsingleton
- initial_seg.subsingleton
- principal_seg.subsingleton
- zmod.subsingleton_units
- zmod.subsingleton_ring_hom
- zmod.subsingleton_ring_equiv
- Top.presheaf.sheaf_condition.subsingleton
- category_theory.is_kernel_pair.subsingleton
- category_theory.subsingleton_simple
- category_theory.thin_skeleton.thin
- typevec.subsingleton0
- pfunctor.approx.subsingleton
- pgame.subsingleton_short
- Top.presheaf.sheaf_condition_pairwise_intersections.subsingleton
- Top.presheaf.sheaf_condition_preserves_limit_pairwise_intersections.subsingleton
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₁)
theorem
let_value_eq
{α : Sort u}
{β : Sort v}
{a₁ a₂ : α}
(b : α → β)
(a : a₁ = a₂) :
(let x : α := a₁ in b x) = let x : α := a₂ in b x
theorem
let_value_heq
{α : Sort v}
{β : α → Sort u}
{a₁ a₂ : α}
(b : Π (x : α), β x)
(a : a₁ = a₂) :
(let x : α := a₁ in b x) == let x : α := a₂ in b x
theorem
let_body_eq
{α : Sort v}
{β : α → Sort u}
(a : α)
{b₁ b₂ : Π (x : α), β x}
(a_1 : ∀ (x : α), b₁ x = b₂ x) :
(let x : α := a in b₁ x) = let x : α := a in b₂ x
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)
(rfl : reflexive r)
(symm : symmetric r)
(trans : transitive r) :
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 : α → β)
(h : transitive r) :
transitive (inv_image r f)
theorem
inv_image.irreflexive
{α : Sort u}
{β : Sort v}
(r : β → β → Prop)
(f : α → β)
(h : 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)