95 new Alpha admissions come from 96 source lemmas: tuple equality reflexivity reuses an already-admitted theorem and is not counted twice. All counts use actual finite beta-coded enumerations. G008 multiplicativity is proved; the general prime-power count and distinct-prime product formula are further goals. General prime-power fields (G091) remain open. Stable is unchanged.
Exact theorem in conservative defined notation
∀ k. ∀ n. ∀ c. ∀ t. ∀ B. ∀ C. ∀ D. ∀ E. ∀ j. JordanTupleScan(k,n,c,t,B,C,D,E,j) → BetaPrefixInto(t,c,k,n) → JordanPrimitiveTuple(n,t,c,k) → ¬JordanTupleListed(t,c,k,B,C,D,E,j) → ∃ x. ∃ y. ∃ z. ∃ m. JordanTupleScan(k,n,c,S t,x,y,z,m,S j)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 388 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hextL14–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple outer append exists.
- L14
have hext : ∃ U. ∃ V. ∃ W. ∃ X. IntegerVectorZero(B,C,U,V,j) ∧ (IntegerVectorZero(D,E,W,X,j) ∧ (BetaAt(U,V,j,t) ∧ BetaAt(W,X,j,c)))Definitions: IntegerVectorZero(B,C,U,V,j)IntegerVectorZero(D,E,W,X,j)BetaAt(U,V,j,t)BetaAt(W,X,j,c)Original native command in the exact edition - L15
specialize jordan_tuple_outer_append_exists (B) - L16
specialize jordan_tuple_outer_append_exists (C) - L17
specialize jordan_tuple_outer_append_exists (D) - L18
specialize jordan_tuple_outer_append_exists (E) - L19
specialize jordan_tuple_outer_append_exists (j) - L20
specialize jordan_tuple_outer_append_exists (t) - L21
specialize jordan_tuple_outer_append_exists (c) - L22
apply jordan_tuple_outer_append_exists
04Separate the logical casesL23–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Establish hcodesbackL32–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple equal symm.
- L32
have hcodesback : IntegerVectorZero(x,x1,B,C,j)Definitions: IntegerVectorZero(x,x1,B,C,j)Original native command in the exact edition - L33
specialize jordan_tuple_equal_symm (B) - L34
specialize jordan_tuple_equal_symm (C) - L35
specialize jordan_tuple_equal_symm (x) - L36
specialize jordan_tuple_equal_symm (x1) - L37
specialize jordan_tuple_equal_symm (j) - L38
apply jordan_tuple_equal_symm - L39
exact hext_witness_witness_witness_witness_left
06Establish hscalesbackL40–47
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply jordan tuple equal symm.
- L40
have hscalesback : IntegerVectorZero(x2,x3,D,E,j)Definitions: IntegerVectorZero(x2,x3,D,E,j)Original native command in the exact edition - L41
specialize jordan_tuple_equal_symm (D) - L42
specialize jordan_tuple_equal_symm (E) - L43
specialize jordan_tuple_equal_symm (x2) - L44
specialize jordan_tuple_equal_symm (x3) - L45
specialize jordan_tuple_equal_symm (j) - L46
apply jordan_tuple_equal_symm - L47
exact hext_witness_witness_witness_witness_right_left
07Construct an explicit witnessL48–51
08Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
split
09Fix variables and assumptionsL53–54
10Establish hicL55–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
11Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hic
12Construct an explicit witnessL61–62
13Separate the logical casesL63–64
14Calculate and transport equalitiesL65–66
15Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hext_witness_witness_witness_witness_right_right_left
16Calculate and transport equalitiesL68–69
17Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hext_witness_witness_witness_witness_right_right_right
18Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
19Use earlier factsL72–73
20Establish hvalueL74–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hscan left.
- L74
have hvalue : ∃ b. ∃ e. BetaAt(B,C,i,b) ∧ BetaAt(D,E,i,e) ∧ (BetaPrefixInto(b,e,k,n) ∧ JordanPrimitiveTuple(n,b,e,k))Definitions: BetaAt(B,C,i,b)BetaAt(D,E,i,e)BetaPrefixInto(b,e,k,n)JordanPrimitiveTuple(n,b,e,k)Original native command in the exact edition - L75
specialize hscan_left (i) - L76
apply hscan_left - L77
exact hic_right
21Separate the logical casesL78–82
22Construct an explicit witnessL83–84
23Separate the logical casesL85–86
24Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize jordan_tuple_equal_entry (B) - L88
specialize jordan_tuple_equal_entry (C) - L89
specialize jordan_tuple_equal_entry (x) - L90
specialize jordan_tuple_equal_entry (x1) - L91
specialize jordan_tuple_equal_entry (j) - L92
specialize jordan_tuple_equal_entry (i) - L93
specialize jordan_tuple_equal_entry (x4) - L94
apply jordan_tuple_equal_entry - L95
exact hext_witness_witness_witness_witness_left - L96
exact hic_right
25Use earlier factsL97–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
exact hvalue_witness_witness_left_left - L98
specialize jordan_tuple_equal_entry (D) - L99
specialize jordan_tuple_equal_entry (E) - L100
specialize jordan_tuple_equal_entry (x2) - L101
specialize jordan_tuple_equal_entry (x3) - L102
specialize jordan_tuple_equal_entry (j) - L103
specialize jordan_tuple_equal_entry (i) - L104
specialize jordan_tuple_equal_entry (x5) - L105
apply jordan_tuple_equal_entry - L106
exact hext_witness_witness_witness_witness_right_left
26Use earlier factsL107–108
27Separate the logical casesL109–109
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L109
split
28Use earlier factsL110–111
29Separate the logical casesL112–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L112
split
30Fix variables and assumptionsL113–122
31Fix variables and assumptionsL123–123
Work with arbitrary variables or the premises of the current implication.
- L123
intro heq
32Separate the logical casesL124–125
33Establish hicL126–130
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
34Establish hhcL131–135
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
35Separate the logical casesL136–137
36Calculate and transport equalitiesL138–138
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L138
trans j
37Use earlier factsL139–139
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
exact hic_left
38Calculate and transport equalitiesL140–140
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L140
symm
39Use earlier factsL141–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
exact hhc_left
40Establish hbvalL142–151
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L142
have hbval : b=t - L143
specialize beta_at_unique (x) - L144
specialize beta_at_unique (x1) - L145
specialize beta_at_unique (j) - L146
specialize beta_at_unique (b) - L147
specialize beta_at_unique (t) - L148
apply beta_at_unique - L149
rewrite hic_left at hfirst_left - L150
rewrite hic_left at hfirst_left - L151
exact hfirst_left
41Use earlier factsL152–152
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L152
exact hext_witness_witness_witness_witness_right_right_left
42Establish hevalL153–162
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L153
have heval : e=c - L154
specialize beta_at_unique (x2) - L155
specialize beta_at_unique (x3) - L156
specialize beta_at_unique (j) - L157
specialize beta_at_unique (e) - L158
specialize beta_at_unique (c) - L159
apply beta_at_unique - L160
rewrite hic_left at hfirst_right - L161
rewrite hic_left at hfirst_right - L162
exact hfirst_right
43Use earlier factsL163–163
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L163
exact hext_witness_witness_witness_witness_right_right_right
44Separate the logical casesL164–164
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L164
exfalso
45Use earlier factsL165–165
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L165
apply hfresh
46Construct an explicit witnessL166–168
47Separate the logical casesL169–169
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L169
split
48Use earlier factsL170–170
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L170
exact hhc_right
49Separate the logical casesL171–172
50Use earlier factsL173–182
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L173
specialize jordan_tuple_equal_entry (x) - L174
specialize jordan_tuple_equal_entry (x1) - L175
specialize jordan_tuple_equal_entry (B) - L176
specialize jordan_tuple_equal_entry (C) - L177
specialize jordan_tuple_equal_entry (j) - L178
specialize jordan_tuple_equal_entry (h) - L179
specialize jordan_tuple_equal_entry (d) - L180
apply jordan_tuple_equal_entry - L181
exact hcodesback - L182
exact hhc_right
51Use earlier factsL183–192
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L183
exact hsecond_left - L184
specialize jordan_tuple_equal_entry (x2) - L185
specialize jordan_tuple_equal_entry (x3) - L186
specialize jordan_tuple_equal_entry (D) - L187
specialize jordan_tuple_equal_entry (E) - L188
specialize jordan_tuple_equal_entry (j) - L189
specialize jordan_tuple_equal_entry (h) - L190
specialize jordan_tuple_equal_entry (f) - L191
apply jordan_tuple_equal_entry - L192
exact hscalesback
52Use earlier factsL193–194
53Calculate and transport equalitiesL195–197
54Use earlier factsL198–198
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L198
exact heq
55Separate the logical casesL199–199
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L199
cases hhc
56Establish hdvalL200–209
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L200
have hdval : d=t - L201
specialize beta_at_unique (x) - L202
specialize beta_at_unique (x1) - L203
specialize beta_at_unique (j) - L204
specialize beta_at_unique (d) - L205
specialize beta_at_unique (t) - L206
apply beta_at_unique - L207
rewrite hhc_left at hsecond_left - L208
rewrite hhc_left at hsecond_left - L209
exact hsecond_left
57Use earlier factsL210–210
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L210
exact hext_witness_witness_witness_witness_right_right_left
58Establish hfvalL211–220
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L211
have hfval : f=c - L212
specialize beta_at_unique (x2) - L213
specialize beta_at_unique (x3) - L214
specialize beta_at_unique (j) - L215
specialize beta_at_unique (f) - L216
specialize beta_at_unique (c) - L217
apply beta_at_unique - L218
rewrite hhc_left at hsecond_right - L219
rewrite hhc_left at hsecond_right - L220
exact hsecond_right
59Use earlier factsL221–221
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L221
exact hext_witness_witness_witness_witness_right_right_right
60Separate the logical casesL222–222
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L222
exfalso
61Use earlier factsL223–223
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L223
apply hfresh
62Construct an explicit witnessL224–226
63Separate the logical casesL227–227
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L227
split
64Use earlier factsL228–228
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L228
exact hic_right
65Separate the logical casesL229–230
66Use earlier factsL231–240
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L231
specialize jordan_tuple_equal_entry (x) - L232
specialize jordan_tuple_equal_entry (x1) - L233
specialize jordan_tuple_equal_entry (B) - L234
specialize jordan_tuple_equal_entry (C) - L235
specialize jordan_tuple_equal_entry (j) - L236
specialize jordan_tuple_equal_entry (i) - L237
specialize jordan_tuple_equal_entry (b) - L238
apply jordan_tuple_equal_entry - L239
exact hcodesback - L240
exact hic_right
67Use earlier factsL241–250
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L241
exact hfirst_left - L242
specialize jordan_tuple_equal_entry (x2) - L243
specialize jordan_tuple_equal_entry (x3) - L244
specialize jordan_tuple_equal_entry (D) - L245
specialize jordan_tuple_equal_entry (E) - L246
specialize jordan_tuple_equal_entry (j) - L247
specialize jordan_tuple_equal_entry (i) - L248
specialize jordan_tuple_equal_entry (e) - L249
apply jordan_tuple_equal_entry - L250
exact hscalesback
68Use earlier factsL251–258
Instantiate or apply named facts and discharge the corresponding proof obligations.
69Calculate and transport equalitiesL259–261
70Use earlier factsL262–271
Instantiate or apply named facts and discharge the corresponding proof obligations.
71Separate the logical casesL272–272
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L272
split
72Use earlier factsL273–282
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L273
specialize jordan_tuple_equal_entry (x) - L274
specialize jordan_tuple_equal_entry (x1) - L275
specialize jordan_tuple_equal_entry (B) - L276
specialize jordan_tuple_equal_entry (C) - L277
specialize jordan_tuple_equal_entry (j) - L278
specialize jordan_tuple_equal_entry (i) - L279
specialize jordan_tuple_equal_entry (b) - L280
apply jordan_tuple_equal_entry - L281
exact hcodesback - L282
exact hic_right
73Use earlier factsL283–292
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L283
exact hfirst_left - L284
specialize jordan_tuple_equal_entry (x2) - L285
specialize jordan_tuple_equal_entry (x3) - L286
specialize jordan_tuple_equal_entry (D) - L287
specialize jordan_tuple_equal_entry (E) - L288
specialize jordan_tuple_equal_entry (j) - L289
specialize jordan_tuple_equal_entry (i) - L290
specialize jordan_tuple_equal_entry (e) - L291
apply jordan_tuple_equal_entry - L292
exact hscalesback
74Use earlier factsL293–294
75Separate the logical casesL295–295
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L295
split
76Use earlier factsL296–305
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L296
specialize jordan_tuple_equal_entry (x) - L297
specialize jordan_tuple_equal_entry (x1) - L298
specialize jordan_tuple_equal_entry (B) - L299
specialize jordan_tuple_equal_entry (C) - L300
specialize jordan_tuple_equal_entry (j) - L301
specialize jordan_tuple_equal_entry (h) - L302
specialize jordan_tuple_equal_entry (d) - L303
apply jordan_tuple_equal_entry - L304
exact hcodesback - L305
exact hhc_right
77Use earlier factsL306–315
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L306
exact hsecond_left - L307
specialize jordan_tuple_equal_entry (x2) - L308
specialize jordan_tuple_equal_entry (x3) - L309
specialize jordan_tuple_equal_entry (D) - L310
specialize jordan_tuple_equal_entry (E) - L311
specialize jordan_tuple_equal_entry (j) - L312
specialize jordan_tuple_equal_entry (h) - L313
specialize jordan_tuple_equal_entry (f) - L314
apply jordan_tuple_equal_entry - L315
exact hscalesback
78Use earlier factsL316–318
79Fix variables and assumptionsL319–322
80Establish hzcL323–327
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
81Separate the logical casesL328–328
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L328
cases hzc
82Calculate and transport equalitiesL329–329
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L329
rewrite hzc_left
83Construct an explicit witnessL330–332
84Separate the logical casesL333–333
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L333
split
85Use earlier factsL334–335
86Separate the logical casesL336–337
87Use earlier factsL338–343
Instantiate or apply named facts and discharge the corresponding proof obligations.
88Establish holdL344–349
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hscan right right.
- L344
have hold : JordanTupleListed(z,c,k,B,C,D,E,j)Definitions: JordanTupleListed(z,c,k,B,C,D,E,j)Original native command in the exact edition - L345
specialize hscan_right_right (z) - L346
apply hscan_right_right - L347
exact hzc_right - L348
exact hzb - L349
exact hzp
89Separate the logical casesL350–355
90Construct an explicit witnessL356–358
91Separate the logical casesL359–359
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L359
split
92Use earlier factsL360–363
93Separate the logical casesL364–365
94Use earlier factsL366–375
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L366
specialize jordan_tuple_equal_entry (B) - L367
specialize jordan_tuple_equal_entry (C) - L368
specialize jordan_tuple_equal_entry (x) - L369
specialize jordan_tuple_equal_entry (x1) - L370
specialize jordan_tuple_equal_entry (j) - L371
specialize jordan_tuple_equal_entry (x4) - L372
specialize jordan_tuple_equal_entry (x5) - L373
apply jordan_tuple_equal_entry - L374
exact hext_witness_witness_witness_witness_left - L375
exact hold_witness_witness_witness_left
95Use earlier factsL376–385
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L376
exact hold_witness_witness_witness_right_left_left - L377
specialize jordan_tuple_equal_entry (D) - L378
specialize jordan_tuple_equal_entry (E) - L379
specialize jordan_tuple_equal_entry (x2) - L380
specialize jordan_tuple_equal_entry (x3) - L381
specialize jordan_tuple_equal_entry (j) - L382
specialize jordan_tuple_equal_entry (x4) - L383
specialize jordan_tuple_equal_entry (x6) - L384
apply jordan_tuple_equal_entry - L385
exact hext_witness_witness_witness_witness_right_left
Original defined command ledger · 388 lines
- 0001
intro k - 0002
intro n - 0003
intro c - 0004
intro t - 0005
intro B - 0006
intro C - 0007
intro D - 0008
intro E - 0009
intro j - 0010
intro hscan - 0011
intro hb - 0012
intro hp - 0013
intro hfresh - 0014
have hext : ∃ U. ∃ V. ∃ W. ∃ X. IntegerVectorZero(B,C,U,V,j) ∧ (IntegerVectorZero(D,E,W,X,j) ∧ (BetaAt(U,V,j,t) ∧ BetaAt(W,X,j,c))) - 0015
specialize jordan_tuple_outer_append_exists (B) - 0016
specialize jordan_tuple_outer_append_exists (C) - 0017
specialize jordan_tuple_outer_append_exists (D) - 0018
specialize jordan_tuple_outer_append_exists (E) - 0019
specialize jordan_tuple_outer_append_exists (j) - 0020
specialize jordan_tuple_outer_append_exists (t) - 0021
specialize jordan_tuple_outer_append_exists (c) - 0022
apply jordan_tuple_outer_append_exists - 0023
cases hext - 0024
cases hext_witness - 0025
cases hext_witness_witness - 0026
cases hext_witness_witness_witness - 0027
cases hext_witness_witness_witness_witness - 0028
cases hext_witness_witness_witness_witness_right - 0029
cases hext_witness_witness_witness_witness_right_right - 0030
cases hscan - 0031
cases hscan_right - 0032
have hcodesback : IntegerVectorZero(x,x1,B,C,j) - 0033
specialize jordan_tuple_equal_symm (B) - 0034
specialize jordan_tuple_equal_symm (C) - 0035
specialize jordan_tuple_equal_symm (x) - 0036
specialize jordan_tuple_equal_symm (x1) - 0037
specialize jordan_tuple_equal_symm (j) - 0038
apply jordan_tuple_equal_symm - 0039
exact hext_witness_witness_witness_witness_left - 0040
have hscalesback : IntegerVectorZero(x2,x3,D,E,j) - 0041
specialize jordan_tuple_equal_symm (D) - 0042
specialize jordan_tuple_equal_symm (E) - 0043
specialize jordan_tuple_equal_symm (x2) - 0044
specialize jordan_tuple_equal_symm (x3) - 0045
specialize jordan_tuple_equal_symm (j) - 0046
apply jordan_tuple_equal_symm - 0047
exact hext_witness_witness_witness_witness_right_left - 0048
exists x - 0049
exists x1 - 0050
exists x2 - 0051
exists x3 - 0052
split - 0053
intro i - 0054
intro hi - 0055
have hic : i = j ∨ Lt(i,j) - 0056
specialize finite_lt_succ_eq_or_lt (j) - 0057
specialize finite_lt_succ_eq_or_lt (i) - 0058
apply finite_lt_succ_eq_or_lt - 0059
exact hi - 0060
cases hic - 0061
exists t - 0062
exists c - 0063
split - 0064
split - 0065
rewrite hic_left - 0066
rewrite hic_left - 0067
exact hext_witness_witness_witness_witness_right_right_left - 0068
rewrite hic_left - 0069
rewrite hic_left - 0070
exact hext_witness_witness_witness_witness_right_right_right - 0071
split - 0072
exact hb - 0073
exact hp - 0074
have hvalue : ∃ b. ∃ e. BetaAt(B,C,i,b) ∧ BetaAt(D,E,i,e) ∧ (BetaPrefixInto(b,e,k,n) ∧ JordanPrimitiveTuple(n,b,e,k)) - 0075
specialize hscan_left (i) - 0076
apply hscan_left - 0077
exact hic_right - 0078
cases hvalue - 0079
cases hvalue_witness - 0080
cases hvalue_witness_witness - 0081
cases hvalue_witness_witness_right - 0082
cases hvalue_witness_witness_left - 0083
exists x4 - 0084
exists x5 - 0085
split - 0086
split - 0087
specialize jordan_tuple_equal_entry (B) - 0088
specialize jordan_tuple_equal_entry (C) - 0089
specialize jordan_tuple_equal_entry (x) - 0090
specialize jordan_tuple_equal_entry (x1) - 0091
specialize jordan_tuple_equal_entry (j) - 0092
specialize jordan_tuple_equal_entry (i) - 0093
specialize jordan_tuple_equal_entry (x4) - 0094
apply jordan_tuple_equal_entry - 0095
exact hext_witness_witness_witness_witness_left - 0096
exact hic_right - 0097
exact hvalue_witness_witness_left_left - 0098
specialize jordan_tuple_equal_entry (D) - 0099
specialize jordan_tuple_equal_entry (E) - 0100
specialize jordan_tuple_equal_entry (x2) - 0101
specialize jordan_tuple_equal_entry (x3) - 0102
specialize jordan_tuple_equal_entry (j) - 0103
specialize jordan_tuple_equal_entry (i) - 0104
specialize jordan_tuple_equal_entry (x5) - 0105
apply jordan_tuple_equal_entry - 0106
exact hext_witness_witness_witness_witness_right_left - 0107
exact hic_right - 0108
exact hvalue_witness_witness_left_right - 0109
split - 0110
exact hvalue_witness_witness_right_left - 0111
exact hvalue_witness_witness_right_right - 0112
split - 0113
intro i - 0114
intro h - 0115
intro b - 0116
intro e - 0117
intro d - 0118
intro f - 0119
intro hi - 0120
intro hh - 0121
intro hfirst - 0122
intro hsecond - 0123
intro heq - 0124
cases hfirst - 0125
cases hsecond - 0126
have hic : i = j ∨ Lt(i,j) - 0127
specialize finite_lt_succ_eq_or_lt (j) - 0128
specialize finite_lt_succ_eq_or_lt (i) - 0129
apply finite_lt_succ_eq_or_lt - 0130
exact hi - 0131
have hhc : h = j ∨ Lt(h,j) - 0132
specialize finite_lt_succ_eq_or_lt (j) - 0133
specialize finite_lt_succ_eq_or_lt (h) - 0134
apply finite_lt_succ_eq_or_lt - 0135
exact hh - 0136
cases hic - 0137
cases hhc - 0138
trans j - 0139
exact hic_left - 0140
symm - 0141
exact hhc_left - 0142
have hbval : b=t - 0143
specialize beta_at_unique (x) - 0144
specialize beta_at_unique (x1) - 0145
specialize beta_at_unique (j) - 0146
specialize beta_at_unique (b) - 0147
specialize beta_at_unique (t) - 0148
apply beta_at_unique - 0149
rewrite hic_left at hfirst_left - 0150
rewrite hic_left at hfirst_left - 0151
exact hfirst_left - 0152
exact hext_witness_witness_witness_witness_right_right_left - 0153
have heval : e=c - 0154
specialize beta_at_unique (x2) - 0155
specialize beta_at_unique (x3) - 0156
specialize beta_at_unique (j) - 0157
specialize beta_at_unique (e) - 0158
specialize beta_at_unique (c) - 0159
apply beta_at_unique - 0160
rewrite hic_left at hfirst_right - 0161
rewrite hic_left at hfirst_right - 0162
exact hfirst_right - 0163
exact hext_witness_witness_witness_witness_right_right_right - 0164
exfalso - 0165
apply hfresh - 0166
exists h - 0167
exists d - 0168
exists f - 0169
split - 0170
exact hhc_right - 0171
split - 0172
split - 0173
specialize jordan_tuple_equal_entry (x) - 0174
specialize jordan_tuple_equal_entry (x1) - 0175
specialize jordan_tuple_equal_entry (B) - 0176
specialize jordan_tuple_equal_entry (C) - 0177
specialize jordan_tuple_equal_entry (j) - 0178
specialize jordan_tuple_equal_entry (h) - 0179
specialize jordan_tuple_equal_entry (d) - 0180
apply jordan_tuple_equal_entry - 0181
exact hcodesback - 0182
exact hhc_right - 0183
exact hsecond_left - 0184
specialize jordan_tuple_equal_entry (x2) - 0185
specialize jordan_tuple_equal_entry (x3) - 0186
specialize jordan_tuple_equal_entry (D) - 0187
specialize jordan_tuple_equal_entry (E) - 0188
specialize jordan_tuple_equal_entry (j) - 0189
specialize jordan_tuple_equal_entry (h) - 0190
specialize jordan_tuple_equal_entry (f) - 0191
apply jordan_tuple_equal_entry - 0192
exact hscalesback - 0193
exact hhc_right - 0194
exact hsecond_right - 0195
rewrite hbval at heq - 0196
rewrite heval at heq - 0197
rewrite heval at heq - 0198
exact heq - 0199
cases hhc - 0200
have hdval : d=t - 0201
specialize beta_at_unique (x) - 0202
specialize beta_at_unique (x1) - 0203
specialize beta_at_unique (j) - 0204
specialize beta_at_unique (d) - 0205
specialize beta_at_unique (t) - 0206
apply beta_at_unique - 0207
rewrite hhc_left at hsecond_left - 0208
rewrite hhc_left at hsecond_left - 0209
exact hsecond_left - 0210
exact hext_witness_witness_witness_witness_right_right_left - 0211
have hfval : f=c - 0212
specialize beta_at_unique (x2) - 0213
specialize beta_at_unique (x3) - 0214
specialize beta_at_unique (j) - 0215
specialize beta_at_unique (f) - 0216
specialize beta_at_unique (c) - 0217
apply beta_at_unique - 0218
rewrite hhc_left at hsecond_right - 0219
rewrite hhc_left at hsecond_right - 0220
exact hsecond_right - 0221
exact hext_witness_witness_witness_witness_right_right_right - 0222
exfalso - 0223
apply hfresh - 0224
exists i - 0225
exists b - 0226
exists e - 0227
split - 0228
exact hic_right - 0229
split - 0230
split - 0231
specialize jordan_tuple_equal_entry (x) - 0232
specialize jordan_tuple_equal_entry (x1) - 0233
specialize jordan_tuple_equal_entry (B) - 0234
specialize jordan_tuple_equal_entry (C) - 0235
specialize jordan_tuple_equal_entry (j) - 0236
specialize jordan_tuple_equal_entry (i) - 0237
specialize jordan_tuple_equal_entry (b) - 0238
apply jordan_tuple_equal_entry - 0239
exact hcodesback - 0240
exact hic_right - 0241
exact hfirst_left - 0242
specialize jordan_tuple_equal_entry (x2) - 0243
specialize jordan_tuple_equal_entry (x3) - 0244
specialize jordan_tuple_equal_entry (D) - 0245
specialize jordan_tuple_equal_entry (E) - 0246
specialize jordan_tuple_equal_entry (j) - 0247
specialize jordan_tuple_equal_entry (i) - 0248
specialize jordan_tuple_equal_entry (e) - 0249
apply jordan_tuple_equal_entry - 0250
exact hscalesback - 0251
exact hic_right - 0252
exact hfirst_right - 0253
specialize jordan_tuple_equal_symm (b) - 0254
specialize jordan_tuple_equal_symm (e) - 0255
specialize jordan_tuple_equal_symm (t) - 0256
specialize jordan_tuple_equal_symm (c) - 0257
specialize jordan_tuple_equal_symm (k) - 0258
apply jordan_tuple_equal_symm - 0259
rewrite hdval at heq - 0260
rewrite hfval at heq - 0261
rewrite hfval at heq - 0262
exact heq - 0263
specialize hscan_right_left (i) - 0264
specialize hscan_right_left (h) - 0265
specialize hscan_right_left (b) - 0266
specialize hscan_right_left (e) - 0267
specialize hscan_right_left (d) - 0268
specialize hscan_right_left (f) - 0269
apply hscan_right_left - 0270
exact hic_right - 0271
exact hhc_right - 0272
split - 0273
specialize jordan_tuple_equal_entry (x) - 0274
specialize jordan_tuple_equal_entry (x1) - 0275
specialize jordan_tuple_equal_entry (B) - 0276
specialize jordan_tuple_equal_entry (C) - 0277
specialize jordan_tuple_equal_entry (j) - 0278
specialize jordan_tuple_equal_entry (i) - 0279
specialize jordan_tuple_equal_entry (b) - 0280
apply jordan_tuple_equal_entry - 0281
exact hcodesback - 0282
exact hic_right - 0283
exact hfirst_left - 0284
specialize jordan_tuple_equal_entry (x2) - 0285
specialize jordan_tuple_equal_entry (x3) - 0286
specialize jordan_tuple_equal_entry (D) - 0287
specialize jordan_tuple_equal_entry (E) - 0288
specialize jordan_tuple_equal_entry (j) - 0289
specialize jordan_tuple_equal_entry (i) - 0290
specialize jordan_tuple_equal_entry (e) - 0291
apply jordan_tuple_equal_entry - 0292
exact hscalesback - 0293
exact hic_right - 0294
exact hfirst_right - 0295
split - 0296
specialize jordan_tuple_equal_entry (x) - 0297
specialize jordan_tuple_equal_entry (x1) - 0298
specialize jordan_tuple_equal_entry (B) - 0299
specialize jordan_tuple_equal_entry (C) - 0300
specialize jordan_tuple_equal_entry (j) - 0301
specialize jordan_tuple_equal_entry (h) - 0302
specialize jordan_tuple_equal_entry (d) - 0303
apply jordan_tuple_equal_entry - 0304
exact hcodesback - 0305
exact hhc_right - 0306
exact hsecond_left - 0307
specialize jordan_tuple_equal_entry (x2) - 0308
specialize jordan_tuple_equal_entry (x3) - 0309
specialize jordan_tuple_equal_entry (D) - 0310
specialize jordan_tuple_equal_entry (E) - 0311
specialize jordan_tuple_equal_entry (j) - 0312
specialize jordan_tuple_equal_entry (h) - 0313
specialize jordan_tuple_equal_entry (f) - 0314
apply jordan_tuple_equal_entry - 0315
exact hscalesback - 0316
exact hhc_right - 0317
exact hsecond_right - 0318
exact heq - 0319
intro z - 0320
intro hz - 0321
intro hzb - 0322
intro hzp - 0323
have hzc : z = t ∨ Lt(z,t) - 0324
specialize finite_lt_succ_eq_or_lt (t) - 0325
specialize finite_lt_succ_eq_or_lt (z) - 0326
apply finite_lt_succ_eq_or_lt - 0327
exact hz - 0328
cases hzc - 0329
rewrite hzc_left - 0330
exists j - 0331
exists t - 0332
exists c - 0333
split - 0334
specialize le_refl (S j) - 0335
apply le_refl - 0336
split - 0337
split - 0338
exact hext_witness_witness_witness_witness_right_right_left - 0339
exact hext_witness_witness_witness_witness_right_right_right - 0340
specialize jordan_tuple_equal_refl (t) - 0341
specialize jordan_tuple_equal_refl (c) - 0342
specialize jordan_tuple_equal_refl (k) - 0343
apply jordan_tuple_equal_refl - 0344
have hold : JordanTupleListed(z,c,k,B,C,D,E,j) - 0345
specialize hscan_right_right (z) - 0346
apply hscan_right_right - 0347
exact hzc_right - 0348
exact hzb - 0349
exact hzp - 0350
cases hold - 0351
cases hold_witness - 0352
cases hold_witness_witness - 0353
cases hold_witness_witness_witness - 0354
cases hold_witness_witness_witness_right - 0355
cases hold_witness_witness_witness_right_left - 0356
exists x4 - 0357
exists x5 - 0358
exists x6 - 0359
split - 0360
specialize le_succ (S x4) - 0361
specialize le_succ (j) - 0362
apply le_succ - 0363
exact hold_witness_witness_witness_left - 0364
split - 0365
split - 0366
specialize jordan_tuple_equal_entry (B) - 0367
specialize jordan_tuple_equal_entry (C) - 0368
specialize jordan_tuple_equal_entry (x) - 0369
specialize jordan_tuple_equal_entry (x1) - 0370
specialize jordan_tuple_equal_entry (j) - 0371
specialize jordan_tuple_equal_entry (x4) - 0372
specialize jordan_tuple_equal_entry (x5) - 0373
apply jordan_tuple_equal_entry - 0374
exact hext_witness_witness_witness_witness_left - 0375
exact hold_witness_witness_witness_left - 0376
exact hold_witness_witness_witness_right_left_left - 0377
specialize jordan_tuple_equal_entry (D) - 0378
specialize jordan_tuple_equal_entry (E) - 0379
specialize jordan_tuple_equal_entry (x2) - 0380
specialize jordan_tuple_equal_entry (x3) - 0381
specialize jordan_tuple_equal_entry (j) - 0382
specialize jordan_tuple_equal_entry (x4) - 0383
specialize jordan_tuple_equal_entry (x6) - 0384
apply jordan_tuple_equal_entry - 0385
exact hext_witness_witness_witness_witness_right_left - 0386
exact hold_witness_witness_witness_left - 0387
exact hold_witness_witness_witness_right_left_right - 0388
exact hold_witness_witness_witness_right_right