Version Space Learner: Measurable Selection via Countable Enumeration #
A version space learner outputs the first hypothesis (in a fixed enumeration)
consistent with the training data. For concept classes with a measurable
enumeration enum : ℕ → Concept X Bool, Nat.find provides a constructive
measurable selector.
Main Result #
versionSpaceLearner_measurableBatchLearner: the version space learner
satisfies MeasurableBatchLearner - it is a valid RL policy class.
Proof Architecture #
For Y = Bool, the preimage of each singleton under the evaluation map decomposes as a countable union of measurable rectangles:
{(S, x) | learn S x = true} = ⋃ n, ({S | firstConsistent = n} ×ˢ {x | enum n x = true})
Measurability follows from measurable_to_countable' (Mathlib).
References #
- Mitchell (1982): version spaces in computational learning theory
- Kuratowski-Ryll-Nardzewski: measurable selection (NOT in Mathlib - motivates the countable restriction)
Definitions #
Decidability of consistency (finite conjunction of Bool equality).
Equations
The "first consistent index is n" predicate, stated without Nat.find. This is the measurability-friendly version: no proof-term dependence.
Equations
- IsFirstConsistent enum S n = (IsConsistent (enum n) S ∧ ∀ k < n, ¬IsConsistent (enum k) S)
Instances For
Version space learner: select the first consistent hypothesis in the enumeration. Falls back to the zero concept (always false) if no hypothesis is consistent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Measurability Infrastructure #
Each "enum n is consistent with S" event is measurable in S.
The "first consistent index is n" event is measurable.
Bridge: Nat.find h = n ↔ IsFirstConsistent.
The preimage of {true} under the evaluation map is measurable. Core lemma: decompose as countable union of measurable rectangles.
Main Theorem #
Version space learners are MeasurableBatchLearners.
For any measurable enumeration of concepts, the learner that selects the first consistent hypothesis satisfies joint measurability. This makes version space learners valid RL policy classes.
Proof: measurable_to_countable' reduces to showing each singleton
preimage is MeasurableSet. For {true}, decompose as ⋃ₙ (Aₙ ×ˢ Bₙ).
For {false}, take the complement.