-
Notifications
You must be signed in to change notification settings - Fork 251
Closed
Description
Currently, the definition:
WfRec : Rel A r → ∀ {ℓ} → RecStruct A ℓ _
WfRec _<_ P x = ∀ y → y < x → P y
suffers 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 : PredicateTransformer
is accompanied by a proof thatT P ⊆′ P
for suitableP
...; ADDRESSED by Predicate transformers: ReconcilingInduction.RecStruct
withRelation.Unary.PredicateTransformer.PT
#2140 - the explicit quantification over
y
inWfRec
, which leads, infectively, to a profusion of (almost-?)always-inferrable arguments when working with subsequentAcc
essibility andWellFounded
ness proofs. ADDRESSED by Changes explicit argumenty
to 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 y
together with all of its downstream consequences... including the in-progress #2077 #2082 etc.