An example of a LinearOrderedCommMonoidWithZero
in which the product of two positive
elements vanishes.
This is the monoid with 3 elements 0, ε, 1
where ε ^ 2 = 0
and everything else is forced.
The order is 0 < ε < 1
. Since ε ^ 2 = 0
, the product of strictly positive elements can vanish.
Relevant Zulip chat: https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/mul_pos
The three element monoid.
- zero: Counterexample.Foo
- eps: Counterexample.Foo
- one: Counterexample.Foo
Instances For
Equations
- Counterexample.instDecidableEqFoo x y = if h : x.toCtorIdx = y.toCtorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Counterexample.Foo.inhabited = { default := Counterexample.Foo.zero }
Equations
- Counterexample.Foo.instZero = { zero := Counterexample.Foo.zero }
Equations
- Counterexample.Foo.instOne = { one := Counterexample.Foo.one }
The order on Foo
is the one induced by the natural order on the image of aux1
.
Equations
- x.aux1 = match x with | Counterexample.Foo.zero => 0 | Counterexample.Foo.eps => 1 | Counterexample.Foo.one => 2
Instances For
A tactic to prove facts by cases.
Equations
- Counterexample.Foo.boom = Lean.ParserDescr.node `Counterexample.Foo.boom 1024 (Lean.ParserDescr.nonReservedSymbol "boom" false)
Instances For
Multiplication on Foo
: the only external input is that ε ^ 2 = 0
.
Equations
- x✝.mul x = match x✝, x with | Counterexample.Foo.one, x => x | x, Counterexample.Foo.one => x | x, x_1 => 0
Instances For
Equations
- One or more equations did not get rendered due to their size.