-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Definition of Induction.WellFounded.WfRec
#2083
Comments
A separate issue exposed by this proposal: in xs≮[] : ∀ {n} (xs : Vec A n) → ¬ xs < []
xs≮[] _ (base ())
¬[]<[] : ¬ [] < []
¬[]<[] = xs≮[] [] should, likewise, make the |
Both of these explicit proposals make sense to me. |
I'm not sure I agree with this. What happens when |
Well, actually, the UPDATED: detailed comments on the PR. TL;DR: the only uses made are when proving properties of functions defined by 'In the wild'... I'm not sure. |
So, I have been thinking/trying to think through the substance of @MatthewDaggitt 's critique, and I think there is something I don't understand about his thought experiment: suppose we do define a strict partial order on a record based only on some of its fields. Then, in any subsequent That is to say, (I think that) there should be no consideration of trying to reconstruct any fields at all: the relevant wellfoundedness obtains by projection, and hence the relevant recursion/recursor only need focus on the fields of the projected record... Or am I (still) missing something here? The 'tricky' example of |
Agreed that's what should be going on! But my question was really is Agda smart enough to realise that it doesn't need to re-infer the "irrelevant" information. The fact that it goes through the library fine, suggests that it is in most cases... |
I'm crossing my fingers! |
Currently, the definition:
suffers from two (unfortunate) defects:
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
#2140y
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
#2084The 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:
together with all of its downstream consequences... including the in-progress #2077 #2082 etc.
The text was updated successfully, but these errors were encountered: