z Properties #
In this file we introduce some generally helpful lemmas for z as introduced in
Elligator.Elligator1.Variables.
References #
See [bernstein2013a], Section 3.
def
Elligator.Elligator1.z'
{F : Type u_1}
[Field F]
[Fintype F]
[DecidableEq F]
{s : F}
{q : ℕ}
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
:
F
z' is the z equivalent used in the proof reverse argumentation of Theorem 3 part C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Elligator.Elligator1.Y'_ne_zero
{F : Type u_1}
[Field F]
[Fintype F]
[DecidableEq F]
{s : F}
{q : ℕ}
(hs_ne_zero : s ≠ 0)
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
(P_props : ϕOverFProps s ↑P)
(x_ne_zero : (↑P).1 ≠ 0)
(y_ne_one : (↑P).2 ≠ 1)
:
theorem
Elligator.Elligator1.X_pow_two_add_1_div_c_pow_two_ne_zero
{F : Type u_1}
[Field F]
[Fintype F]
{s : F}
{q : ℕ}
(hs_ne_zero : s ≠ 0)
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
:
theorem
Elligator.Elligator1.z'_argument_ne_zero
{F : Type u_1}
[Field F]
[Fintype F]
[DecidableEq F]
{s : F}
{q : ℕ}
(hs_ne_zero : s ≠ 0)
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
(P_props : ϕOverFProps s ↑P)
(x_ne_zero : (↑P).1 ≠ 0)
(y_ne_one : (↑P).2 ≠ 1)
:
theorem
Elligator.Elligator1.z'_ne_zero
{F : Type u_1}
[Field F]
[Fintype F]
[DecidableEq F]
{s : F}
{q : ℕ}
(hs_ne_zero : s ≠ 0)
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
(P_props : ϕOverFProps s ↑P)
(x_ne_zero : (↑P).1 ≠ 0)
(y_ne_one : (↑P).2 ≠ 1)
:
theorem
Elligator.Elligator1.z'_eq_one_or_z'_eq_neg_one
{F : Type u_1}
[Field F]
[Fintype F]
[DecidableEq F]
{s : F}
{q : ℕ}
(hs_ne_zero : s ≠ 0)
(sq_ne_pm_two : (s ^ 2 - 2) * (s ^ 2 + 2) ≠ 0)
(hq_card : Fintype.card F = q)
(hq_mod : q % 4 = 3)
(P : { p : F × F // p ∈ EOverF sq_ne_pm_two hq_card hq_mod })
(P_props : ϕOverFProps s ↑P)
(x_ne_zero : (↑P).1 ≠ 0)
(y_ne_one : (↑P).2 ≠ 1)
: