-
Notifications
You must be signed in to change notification settings - Fork 260
Closed
Description
Currently, the definition:
WfRec : Rel A r → ∀ {ℓ} → RecStruct A ℓ _
WfRec _<_ P x = ∀ y → y < x → P ysuffers from two (unfortunate) defects:
- the use of the name
RecStruct, when this type is nothing more or less than that ofPredicateTransformer(or: what you will...) which only really takes on the role of being a structure-for-recursion once a given suchT : PredicateTransformeris accompanied by a proof thatT P ⊆′ Pfor suitableP...; ADDRESSED by Predicate transformers: ReconcilingInduction.RecStructwithRelation.Unary.PredicateTransformer.PT#2140 - the explicit quantification over
yinWfRec, which leads, infectively, to a profusion of (almost-?)always-inferrable arguments when working with subsequentAccessibility andWellFoundedness proofs. ADDRESSED by Changes explicit argumentyto implicit inInduction.WellFounded.WfRec#2084
The first of these is, indeed, unfortunate but ignorable.
The second is, frankly, a complete pain, but likewise (almost) completely avoidable.
PROPOSAL: to make the breaking change for v2.0 that the definition be changed to:
WfRec _<_ P x = ∀ {y} → y < x → P ytogether with all of its downstream consequences... including the in-progress #2077 #2082 etc.