Injury bookkeeping for finite-stage enumerations #
A finite-injury construction enumerates a set in finite stages A s, and a requirement e
protects, at each stage s, either nothing (r e s = none) or the numbers up to a restraint
b (r e s = some b, an inclusive bound). A number injures e in the transition to stage
s + 1 when it enters at that transition and lies at or below the active restraint.
injuriesAt A r e s: the finite batch of numbers injuringein that transition.injuryEvents A r e: the pairs(s, x)withx ∈ injuriesAt A r e s.injurySet A r e: the numbers that ever injuree, Soare'sI_e.injuryStages A r e: the stagess + 1at which some number injurese.
Finitely many injury stages are the same as an eventually injury-free tail, and give finitely many
injuring numbers. When the stages are monotone, a number enters at most once
(TauCeti.Enumeration.unique_entry_stage), so it injures e at most once. Then finitely many
injuring numbers are equivalent to both, and there are at most as many injury stages as injuring
numbers. Several numbers
may injure e at one stage, so the inequality can be strict. Without monotonicity a single number
can leave and re-enter, injuring e at infinitely many stages.
A restraint protecting fewer numbers at every stage has fewer injuries, and inclusions of the batches pass to the events, numbers and stages. Control of the restraint itself gives finite injury: a restraint that is eventually bounded admits only finitely many injuring numbers, with no monotonicity of the stages and no bound on its earlier values. Under monotone stages this yields an injury-free tail.
Injury concerns entries into a protected interval only. Resetting the records of lower-priority requirements, effectiveness of the injury sets, preservation of computations and satisfaction of requirements are separate matters, not treated here.
Main results #
TauCeti.Priority.mem_injuriesAt,TauCeti.Priority.injuriesAt_eq_empty_of_eq_none: membership in an injury batch; no restraint, no injury.TauCeti.Priority.mem_iff_mem_succ_of_injuriesAt_eq_empty: without injury, a monotone transition changes no membership at or below the restraint.TauCeti.Priority.injurySet_eq_image,TauCeti.Priority.injuryStages_eq_image: numbers and stages are the projections of the events.TauCeti.Priority.injuriesAt_mono,TauCeti.Priority.injuryEvents_mono,TauCeti.Priority.injurySet_mono,TauCeti.Priority.injuryStages_mono: a smaller restraint has fewer injuries.TauCeti.Priority.injOn_snd_injuryEvents: under monotone stages a number injures at most once.TauCeti.Priority.finite_injuryStages_iff_eventually_eq_empty: finitely many injury stages are an eventually injury-free tail, with no monotonicity.TauCeti.Priority.finite_injurySet_iff_finite_injuryStages,TauCeti.Priority.finite_injurySet_iff_eventually_eq_empty: under monotone stages, finitely many injuring numbers are equivalent to both.TauCeti.Priority.ncard_injuryStages_le: under monotone stages, there are at most as many injury stages as injuring numbers (asncards, which are both0in the infinite case).TauCeti.Priority.finite_injurySet_of_eventually_bounded: an eventually bounded restraint admits only finitely many injuring numbers.TauCeti.Priority.exists_forall_injuriesAt_eq_empty_of_eventually_bounded: under monotone stages, an eventually bounded restraint gives an injury-free tail.
References #
- R. I. Soare, Recursively Enumerable Sets and Degrees, Springer, 1987, Chapter VII.1.
Every injury is a fresh entry.
No injury, no change below the restraint. If nothing injures e, with active restraint
b, in the transition to stage s + 1, and A s ⊆ A (s + 1), then A s and A (s + 1) have
the same members at and below b.
If nothing injures e in the transition to stage s + 1, no number at or below the active
restraint enters in that transition.
Comparing restraints #
A smaller restraint has fewer injuries: if every active restraint c of r' at stage s
is matched by an active restraint of r at least c, every injury for r' is one for r.
Stagewise inclusions of injury batches give an inclusion of injury events.
Stagewise inclusions of injury batches give an inclusion of injury stages.
Finiteness and monotone stages #
An eventually bounded restraint gives finite injury. If from stage s₀ on every active
restraint of e is at most R, only finitely many numbers ever injure e. Neither monotone
stages nor a bound on the restraint before s₀ is needed.
Injury-free tail. Under monotone stages, an eventually bounded restraint is eventually never injured.
At most as many injury stages as injuring numbers, when the stages are monotone. Several
numbers may injure at one stage, so the inequality can be strict. When there are infinitely many
injuring numbers there are infinitely many stages, and both cardinalities are 0.