Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall a b u v. (a=0 \/ a=1) -> (b=0 \/ b=1) -> (u=0 \/ u=1) -> (v=0 \/ v=1) -> ((((u=1) -> (a=1 \/ b=1)) /\ ((a=1 \/ b=1) -> (u=1)))) -> ((((v=1) -> (a=1 /\ b=1)) /\ ((a=1 /\ b=1) -> (v=1)))) -> u+v=a+bConstructive proof overview
Generated structural guide
The exact finite Boolean union/intersection truth table preserves the sum of the two input bits.
The unchanged tactic script uses 1 declared prerequisite and contains 166 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 (1)
01Fix variables and assumptionsL1–10
02Separate the logical casesL11–16
03Calculate and transport equalitiesL17–21
04Establish habL22–24
05Separate the logical casesL25–26
06Use earlier factsL27–30
07Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hI
08Establish habL32–34
09Separate the logical casesL35–36
10Use earlier factsL37–40
11Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
exfalso
12Use earlier factsL42–45
13Establish habL46–48
14Separate the logical casesL49–50
15Use earlier factsL51–54
16Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
exfalso
17Use earlier factsL56–59
18Separate the logical casesL60–61
19Establish huL62–63
20Separate the logical casesL64–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
right
21Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hB_right
22Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
exfalso
23Use earlier factsL67–70
24Establish huL71–72
25Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
right
26Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hB_right
27Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
exfalso
28Use earlier factsL76–79
29Separate the logical casesL80–80
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L80
cases hI
30Calculate and transport equalitiesL81–85
31Establish habL86–88
32Separate the logical casesL89–90
33Use earlier factsL91–94
34Separate the logical casesL95–97
35Establish huL98–99
36Separate the logical casesL100–100
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L100
left
37Use earlier factsL101–101
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L101
exact hA_right
38Separate the logical casesL102–102
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L102
exfalso
39Use earlier factsL103–106
40Establish huL107–108
41Separate the logical casesL109–109
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L109
left
42Use earlier factsL110–110
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L110
exact hA_right
43Separate the logical casesL111–111
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L111
exfalso
44Use earlier factsL112–115
45Separate the logical casesL116–116
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L116
cases hI
46Calculate and transport equalitiesL117–121
47Establish habL122–124
48Separate the logical casesL125–126
49Use earlier factsL127–130
50Separate the logical casesL131–132
51Establish huL133–134
52Separate the logical casesL135–135
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L135
left
53Use earlier factsL136–136
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L136
exact hA_right
54Separate the logical casesL137–137
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L137
exfalso
55Use earlier factsL138–141
56Establish huL142–143
57Separate the logical casesL144–144
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L144
left
58Use earlier factsL145–145
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L145
exact hA_right
59Separate the logical casesL146–146
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L146
exfalso
60Use earlier factsL147–150
61Separate the logical casesL151–151
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L151
cases hI
62Establish hvL152–153
63Separate the logical casesL154–154
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L154
split
64Use earlier factsL155–156
65Separate the logical casesL157–157
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L157
exfalso
66Use earlier factsL158–161
Original exact command ledger · 166 lines
- 0001
intro a - 0002
intro b - 0003
intro u - 0004
intro v - 0005
intro hA - 0006
intro hB - 0007
intro hU - 0008
intro hI - 0009
intro hOr - 0010
intro hAnd - 0011
cases hOr - 0012
cases hAnd - 0013
cases hA - 0014
cases hB - 0015
cases hU - 0016
cases hI - 0017
rewrite hU_left - 0018
rewrite hI_left - 0019
rewrite hA_left - 0020
rewrite hB_left - 0021
simp - 0022
have hab : a=1 /\ b=1 - 0023
apply hAnd_left - 0024
exact hI_right - 0025
cases hab - 0026
exfalso - 0027
specialize finite_bit_zero_one_conflict a - 0028
apply finite_bit_zero_one_conflict - 0029
exact hA_left - 0030
exact hab_left - 0031
cases hI - 0032
have hab : a=1 \/ b=1 - 0033
apply hOr_left - 0034
exact hU_right - 0035
cases hab - 0036
exfalso - 0037
specialize finite_bit_zero_one_conflict a - 0038
apply finite_bit_zero_one_conflict - 0039
exact hA_left - 0040
exact hab_left - 0041
exfalso - 0042
specialize finite_bit_zero_one_conflict b - 0043
apply finite_bit_zero_one_conflict - 0044
exact hB_left - 0045
exact hab_right - 0046
have hab : a=1 \/ b=1 - 0047
apply hOr_left - 0048
exact hU_right - 0049
cases hab - 0050
exfalso - 0051
specialize finite_bit_zero_one_conflict a - 0052
apply finite_bit_zero_one_conflict - 0053
exact hA_left - 0054
exact hab_left - 0055
exfalso - 0056
specialize finite_bit_zero_one_conflict b - 0057
apply finite_bit_zero_one_conflict - 0058
exact hB_left - 0059
exact hab_right - 0060
cases hU - 0061
cases hI - 0062
have hu : u=1 - 0063
apply hOr_right - 0064
right - 0065
exact hB_right - 0066
exfalso - 0067
specialize finite_bit_zero_one_conflict u - 0068
apply finite_bit_zero_one_conflict - 0069
exact hU_left - 0070
exact hu - 0071
have hu : u=1 - 0072
apply hOr_right - 0073
right - 0074
exact hB_right - 0075
exfalso - 0076
specialize finite_bit_zero_one_conflict u - 0077
apply finite_bit_zero_one_conflict - 0078
exact hU_left - 0079
exact hu - 0080
cases hI - 0081
rewrite hU_right - 0082
rewrite hI_left - 0083
rewrite hA_left - 0084
rewrite hB_right - 0085
simp - 0086
have hab : a=1 /\ b=1 - 0087
apply hAnd_left - 0088
exact hI_right - 0089
cases hab - 0090
exfalso - 0091
specialize finite_bit_zero_one_conflict a - 0092
apply finite_bit_zero_one_conflict - 0093
exact hA_left - 0094
exact hab_left - 0095
cases hB - 0096
cases hU - 0097
cases hI - 0098
have hu : u=1 - 0099
apply hOr_right - 0100
left - 0101
exact hA_right - 0102
exfalso - 0103
specialize finite_bit_zero_one_conflict u - 0104
apply finite_bit_zero_one_conflict - 0105
exact hU_left - 0106
exact hu - 0107
have hu : u=1 - 0108
apply hOr_right - 0109
left - 0110
exact hA_right - 0111
exfalso - 0112
specialize finite_bit_zero_one_conflict u - 0113
apply finite_bit_zero_one_conflict - 0114
exact hU_left - 0115
exact hu - 0116
cases hI - 0117
rewrite hU_right - 0118
rewrite hI_left - 0119
rewrite hA_right - 0120
rewrite hB_left - 0121
simp - 0122
have hab : a=1 /\ b=1 - 0123
apply hAnd_left - 0124
exact hI_right - 0125
cases hab - 0126
exfalso - 0127
specialize finite_bit_zero_one_conflict b - 0128
apply finite_bit_zero_one_conflict - 0129
exact hB_left - 0130
exact hab_right - 0131
cases hU - 0132
cases hI - 0133
have hu : u=1 - 0134
apply hOr_right - 0135
left - 0136
exact hA_right - 0137
exfalso - 0138
specialize finite_bit_zero_one_conflict u - 0139
apply finite_bit_zero_one_conflict - 0140
exact hU_left - 0141
exact hu - 0142
have hu : u=1 - 0143
apply hOr_right - 0144
left - 0145
exact hA_right - 0146
exfalso - 0147
specialize finite_bit_zero_one_conflict u - 0148
apply finite_bit_zero_one_conflict - 0149
exact hU_left - 0150
exact hu - 0151
cases hI - 0152
have hv : v=1 - 0153
apply hAnd_right - 0154
split - 0155
exact hA_right - 0156
exact hB_right - 0157
exfalso - 0158
specialize finite_bit_zero_one_conflict v - 0159
apply finite_bit_zero_one_conflict - 0160
exact hI_left - 0161
exact hv - 0162
rewrite hU_right - 0163
rewrite hI_right - 0164
rewrite hA_right - 0165
rewrite hB_right - 0166
simp