OAI/Computability/FiniteCompiler/Selectors.lean
129 declarations, 0 contain sorry, 0 declared as axioms
Literal selector envelopes, rewrite saturation, and zero recognition.
- def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frameline 17 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.length_frameline 20 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.infix_strip_consline 24 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.infix_strip_prefixline 33 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.infix_strip_suffixline 41 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.prefix_mem_initialline 48 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.infix_strip_outerline 61 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.bounded_strip_leftline 69Source documentation
A short older selector cannot start in, or straddle, the new left guard.
theorem bounded_strip_left {d l h : S} {v w : List S} {N : ℕ} (hdl : d≠l) (hhd : h≠d) (hhl : h≠l) (hend : h∈d::v) (hlen : (d::v).length ≤ N) (hi : d::v <:+: d::(List.replicate N l++w)) : d::v <:+: w := by … - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.bounded_infix_frameline 87Source documentation
Every older selector side of length at most N lies wholly in the body of an N-envelope. Its body is checked irreducible when that envelope is chosen.
theorem bounded_infix_frame {d l r h : S} {v w : List S} {N : ℕ} (hdl : d≠l) (hhr : h≠r) (hhd : h≠d) (hhl : h≠l) (hdr : d≠r) (hlen : (d::(v++[h])).length ≤ N) (hi : d::(v++[h]) <:+: frame d l r h N w) : d::(v++[h]) <:+: w := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.alphabet_infix_frameline 100Source documentation
The purely alphabetic version used for static/selector overlaps.
theorem alphabet_infix_frame {d l r h a b : S} {v w : List S} {N : ℕ} (had : a≠d) (hal : a≠l) (hbr : b≠r) (hbh : b≠h) (hi : a::(v++[b]) <:+: frame d l r h N w) : a::(v++[b]) <:+: w := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.header_uniqueline 111Source documentation
The long header has exactly one occurrence in its own envelope.
theorem header_unique {d l r h : S} {N : ℕ} {w x y : List S} (hdl : d≠l) (hlr : l≠r) (hlh : l≠h) (hw : w.length < N) (he : frame d l r h N w = x++(d::List.replicate N l)++y) : x=[] := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.prefix_frameline 131Source documentation
Prefix-comparable same-stage envelopes have equal bodies.
theorem prefix_frame {d l r h : S} {N : ℕ} {u v : List S} (hhr : h≠r) (_ : u.length<N) (hv : v.length<N) (hp : frame d l r h N u <+: frame d l r h N v) : u=v := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.infix_frameline 159Source documentation
Same-stage left sides cannot properly contain one another.
theorem infix_frame {d l r h : S} {N : ℕ} {u v x y : List S} (hdl : d≠l) (hlr : l≠r) (hlh : l≠h) (hhr : h≠r) (hu : u.length<N) (hv : v.length<N) (he : frame d l r h N u = x++frame d l r h N v++y) : x=[] ∧ u=v ∧ y=[] := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame_lastline 174 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.no_short_overlapline 181Source documentation
A suffix ending in h cannot be a short prefix of a fresh header.
theorem no_short_overlap {d l r h : S} {N : ℕ} {w m : List S} (hhd : h≠d) (hhl : h≠l) (hm : m.getLast? = some h) (hpre : m <+: frame d l r h N w) (hlen : m.length ≤ N+1) : False := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.overlap_frameline 191Source documentation
Aligned headers and guards exclude every proper same-stage boundary peak.
theorem overlap_frame {d l r h : S} {N : ℕ} {u v p m q : List S} (hdl : d≠l) (hlr : l≠r) (hlh : l≠h) (hhr : h≠r) (hhd : h≠d) (hu : u.length<N) (hv : v.length<N) (hm : m≠[]) (he₁ : frame d l r h N u = p++m) (he₂ : frame d l r h N v = m++q) : p=[] ∧ u=v ∧ q=[] := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.reverse_frameline 219 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.short_long_overlapline 225Source documentation
Different-stage boundary overlaps are excluded by spacing alone; this does not depend on which earlier stage passed its irreducibility test.
theorem short_long_overlap {d l r h : S} {N M : ℕ} {u v p m q : List S} (hhd : h≠d) (hhl : h≠l) (hsmall : (frame d l r h N u).length≤M+1) (hm : m≠[]) (he : frame d l r h N u=p++m) (hf : frame d l r h M v=m++q) : False := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.long_short_overlapline 238 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.avoiding_infix_frameline 251Source documentation
General form of code containment: only avoidance of the four envelope markers is used, so it applies to either of the two disjoint code types.
theorem avoiding_infix_frame {d l r h : S} {N : ℕ} {u w : List S} (hn : u≠[]) (hd : d∉u) (hl : l∉u) (hr : r∉u) (hh : h∉u) (hi : u <:+: frame d l r h N w) : u <:+: w := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.avoiding_frame_overlap_leftline 274Source documentation
A code suffix cannot meet the first envelope marker.
theorem avoiding_frame_overlap_left {d l r h : S} {N : ℕ} {u w p m q : List S} (hd : d∉u) (hm : m≠[]) (he : u=p++m) (hf : frame d l r h N w=m++q) : False := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.avoiding_frame_overlap_rightline 284Source documentation
An envelope suffix cannot meet a code prefix because it ends in h.
theorem avoiding_frame_overlap_right {d l r h : S} {N : ℕ} {u w p m q : List S} (hh : h∉u) (hm : m≠[]) (he : frame d l r h N w=p++m) (hf : u=m++q) : False := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Envelopes.frame
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.join_contextline 297 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Criticalline 303Source documentation
The two critical configurations, checked only inside the current length ball.
def Critical (rs : List (List S × List S)) (n : ℕ) : Prop := …
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.critical_orderedline 310 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.step_decomposeline 346 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.critical_localJoinline 352Source documentation
Critical-pair reduction, including disjoint, boundary and containment peaks.
theorem critical_localJoin {n : ℕ} (crit : Critical rs n) {w a b : List S} (hw : w.length≤n) (ha : Step rs w a) (hb : Step rs w b) : Join (Steps rs) a b := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Critical, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Step, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Steps
- structure
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markersline 368 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.z_dline 378 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.z_lline 379 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.z_rline 380 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.z_hline 381 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.d_lline 382 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.d_rline 383 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.d_hline 384 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.l_rline 385 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.l_hline 386 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.r_hline 387 - abbrev
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.wrapline 389 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Markers.wrap_avoidsline 391 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.rulesline 398Source documentation
Literal selector rules, with the first member sent to the empty word.
def rules (N : ℕ) (ws : List (List S)) : List (List S × List S) := …
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.mem_rulesline 401 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Oldline 407Source documentation
The only possible old left-side shapes at a selector stage.
def Old (N : ℕ) (u : List S) : Prop := …
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.no_occurrenceline 413 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.old_in_newline 419 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.new_in_oldline 431 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.old_new_overlapline 442 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.new_old_overlapline 450 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.join_monoline 458 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.zero_joinline 464 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.critical_extensionline 473Source documentation
The actual finite selector extension preserves the entire bounded critical condition, not just the disjoint cases. All irreducibility tests are on bodies.
theorem critical_extension {rs : List (List S × List S)} {N B : ℕ} {ws : List (List S)} (hz : Absorbs rs a.zero) (hp : ∀ p∈rs,a.zero∈p.1 → a.zero∈p.2) (hold : ∀ p∈rs,Old a N p.1) (hws : ∀ w∈ws, w.length<N ∧ a.zero∉w ∧ Irreducible (Step rs) w) (hc : Critical rs B) : Critical (rs++rules a N ws) B := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Absorbs, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Old, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Irreducible, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Step, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Critical, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.rules
- structure
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Stageline 540Source documentation
A potential tuple and its envelope size, independent of all class tests.
structure Stage (S : Type*) where …
- def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.allowedline 546 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.chooseline 549 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.processline 552 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.BoundedEqline 556 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.allowed_iffline 559 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.irreducible_boundedline 572 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.choose_containsline 579 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.mem_chooseline 587 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.choose_boundedline 594 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_boundedline 619 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_membersline 627 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_containsline 639 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_zeroline 645 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_criticalline 657Source documentation
Full consecutive selector processing preserves critical joins. The spacing is required for all potential earlier sides, selected or not.
theorem process_critical {base : List (List S × List S)} {stages : ℕ → Stage S} {n : ℕ} (hz : Absorbs base a.zero) (hp : ∀ p ∈ base,a.zero ∈ p.1 → a.zero ∈ p.2) (hold : ∀ p ∈ base,a.zero ∈ p.1 ∨ (p.1≠[] ∧ a.d∉p.1 ∧ a.l∉p.1 ∧ a.r∉p.1 ∧ a.h∉p.1)) (hbody : ∀ i w, w ∈ (stages i).bodies → w.length<(stages i).size ∧ a.zero∉w) (hspace : ∀ i j, i<j → ∀ w ∈ (stages i).bodies,(a.wrap (stages i).size w).length<(stages j).size) (hc : Critical base n) (j : ℕ) : Critical (process (a:=a) base stages n j) n := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.stages, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Stage, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Absorbs, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Critical, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.boundedEq_reflline 686 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.boundedEq_transline 690 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.choose_inertline 694 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_futureline 707 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.tables_boundedline 717Source documentation
Stability for the literal completed tables, whose number of examined tuples varies with the normalization bound.
theorem tables_bounded {bases : ℕ → List (List S × List S)} {stages : ℕ → Stage S} (hb : ∀ k n, k ≤ n → BoundedEq (bases k) (bases n) k) (hlen : ∀ j w, w ∈ (stages j).bodies → w.length<(stages j).size) (hsize : ∀ j, j<(stages j).size) {k n : ℕ} (hkn : k ≤ n) : BoundedEq (process (a:=a) (bases k) stages k k) …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.stages, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.Stage, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.BoundedEq, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process
- theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.rules_decreaseline 726 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.process_decreaseline 735 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pickStepline 749 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pickline 752 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pick_classline 757 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pick_least_fixedline 769 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pick_eq_leastline 785Source documentation
The finite answer list computes the same least shortlex representative as the manuscript, even though it tests every word in the common length ball.
theorem pick_eq_least {ps : List (List A × Q)} {w : List A} (hps : ∀ p ∈ ps,p.2=q p.1) (hm : (least wf q w,q w) ∈ ps) : pick (r:=r) ps w (q w)=least wf q w := by …Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.least, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Canonical.pick
- def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.lexBoolline 815 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.lexBool_eqline 821 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.lexFoldStepline 842 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.lexFinishline 848 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.lexFoldline 850 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_lexBoolline 869 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_shortlexline 894 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.outputline 911 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.tableline 915 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.computeline 919 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.traverse_mapline 923 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.output_fullline 934 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.table_fullline 946 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.compute_fullline 972 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_encodeline 985 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_wordsline 989 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_pickStepline 998 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_pickline 1006 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_outputline 1015 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.primrec_tableline 1023 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Search.partrec_computeline 1039 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.maxLengthline 1054 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.length_le_maxLengthline 1057 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.tuplesline 1066 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.tuples_validline 1070 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.tuples_completeline 1078 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.sizesline 1085Source documentation
Each new size is past the entire preceding potential envelope, not merely past those actually selected. The index and current body bounds are included.
def sizes (z : S) : ℕ → ℕ | 0 => maxLength (tuples z 0)+1 | i+1 => max (max (i+2) (maxLength (tuples z (i+1))+1)) (2 * sizes z i+3+maxLength (tuples z i))Mentions: OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.maxLength, OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.tuples
- def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.stagesline 1090 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.index_lt_sizeline 1092 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.body_lt_sizeline 1099 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.sizes_stepline 1107 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.sizes_strictMonoline 1111 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.stage_spacingline 1117 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_memline 1128 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_dedupline 1131 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_nodupline 1144 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_maxLengthline 1148 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_tuplesline 1153 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_sizesline 1161 - def
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.stageEquivline 1179 - instance
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.(instance at line 1185)line 1185 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_stage_sizeline 1188 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_stage_bodiesline 1191 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_stagesline 1193 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_replicateline 1197 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_wrapline 1202 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_rulesline 1208 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_allowedline 1215 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_chooseline 1221 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_processline 1230 - theorem
OAI.FiniteAlgebraicEnvelopes.Bootstrap.Selectors.primrec_full_processline 1240