Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ιιο be given.
Assume H0: per x0.
Let x1 of type ιι be given.
Assume H1: ∀ x2 x3 . x0 x2 x3x1 x2 = x1 x3.
Let x2 of type ι be given.
Let x3 of type ι be given.
Assume H2: x0 x2 x3.
Apply If_i_correct with x0 x2 (x1 x2), x1 x2, canonical_elt x0 x2, canonical_elt_def x0 x1 x2 = canonical_elt_def x0 x1 x3 leaving 2 subgoals.
Assume H3: and (x0 x2 (x1 x2)) (If_i (x0 x2 (x1 x2)) (x1 x2) (canonical_elt x0 x2) = x1 x2).
Apply H3 with canonical_elt_def x0 x1 x2 = canonical_elt_def x0 x1 x3.
Assume H4: x0 x2 (x1 x2).
Assume H5: If_i (x0 x2 (x1 x2)) (x1 x2) (canonical_elt x0 x2) = x1 x2.
Apply H5 with λ x4 x5 . x5 = canonical_elt_def x0 x1 x3.
Claim L6: x0 x3 (x1 x3)
Apply H1 with x2, x3, λ x4 x5 . x0 x3 x4 leaving 2 subgoals.
The subproof is completed by applying H2.
Apply per_stra1 with x0, x3, x2, x1 x2 leaving 3 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.
The subproof is completed by applying H4.
Apply If_i_1 with x0 x3 (x1 x3), x1 x3, canonical_elt x0 x3, λ x4 x5 . x1 x2 = x5 leaving 2 subgoals.
The subproof is completed by applying L6.
Apply H1 with x2, x3.
The subproof is completed by applying H2.
Assume H3: and (not (x0 x2 (x1 x2))) (If_i (x0 x2 (x1 x2)) (x1 x2) (canonical_elt x0 x2) = canonical_elt x0 x2).
Apply H3 with canonical_elt_def x0 x1 x2 = canonical_elt_def x0 x1 x3.
Assume H4: not (x0 x2 (x1 x2)).
Assume H5: If_i (x0 x2 (x1 x2)) (x1 x2) (canonical_elt x0 x2) = canonical_elt x0 x2.
Apply H5 with λ x4 x5 . x5 = canonical_elt_def x0 x1 x3.
Claim L6: not (x0 x3 (x1 x3))
Apply H1 with x2, x3, λ x4 x5 . not (x0 x3 x4) leaving 2 subgoals.
The subproof is completed by applying H2.
Assume H6: x0 x3 (x1 x2).
Apply H4.
Apply per_tra with x0, x2, x3, x1 x2 leaving 3 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.
The subproof is completed by applying H6.
Apply If_i_0 with x0 x3 (x1 x3), x1 x3, canonical_elt x0 x3, λ x4 x5 . canonical_elt x0 x2 = x5 leaving 2 subgoals.
The subproof is completed by applying L6.
Apply canonical_elt_eq with x0, x2, x3 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H2.