Skip to content

[ refactor ] generalise Data.Sum.Relation.Binary.Pointwise.elim #3079 - #3085

Open
jamesmckinna wants to merge 2 commits into
agda:masterfrom
jamesmckinna:refactor-sum-pointwise-bis
Open

[ refactor ] generalise Data.Sum.Relation.Binary.Pointwise.elim #3079#3085
jamesmckinna wants to merge 2 commits into
agda:masterfrom
jamesmckinna:refactor-sum-pointwise-bis

Conversation

@jamesmckinna

Copy link
Copy Markdown
Collaborator

This takes the #3079 definition and generalises it to any h extensionally equivalent to Sum.[ f , g ]′.

Opportunity for @JacquesCarette (or anyone else!) to reconsider the chosen names here!

(T : Rel C ℓ) (R⇒T : R =[ f ]⇒ T) (S⇒T : S =[ g ]⇒ T)
where

elim : ∀ {h} → Sum.[ f , g ]′ ≗ h → Pointwise R S =[ h ]⇒ T

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not really an eliminator, is it? It is much more like a transport (hence the subst-based implementation!)

Starting bid of transport-[,]-=[]⇒. I hate it, but have to start somewhere! Now that I've had more time to think about it, I definitely dislike elim as this isn't an eliminator at all.

@jamesmckinna jamesmckinna Jul 23, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I happen to disagree, but I suppose in fairness It All Depends what you mean by... 'eliminator'...

... within the 'logic' / consequence relation given by inclusion/implication between relations, this is exactly an eliminator: it is an inference rule which describes what 'conclusion' T is derivable from what 'principal formula' Pointwise R S by appeal to the ancillary sequents witnessing that 'T follows from R' (resp. S)...

Categorically, it expresses Pointwise R S as a (suitable indexed generalisation of a) coproduct, with elim generalising the usual arrow-out-of-a-colimit.

What's not like an eliminator about that!?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And, FTR, I derived these while trying to think about #3081 in terms of product diagrams, with corresponding rule intro as a staging post on the way to generalising Product.zip... so it seems important to me, at least, to characterise these (dual!) constructions not only type-theoretically, but also categorically.

Or perhaps rather, given the contested terminology, not only categorically, but also type-theoretically!!! ;-)

Hope you'll change your mind on this...

@jamesmckinna jamesmckinna Jul 23, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, and subst is only there to make use of the generalisation via extensionality...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put that way (which should be in the comments!!!), I do see how this is an eliminator.

In which case, given our naming convention for many other eliminators, maybe it should be called pointwise ?

@jamesmckinna jamesmckinna Jul 24, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting suggestion! And something I have suggested in the past...

... just as this new departure with intro and elim is a fresh experiment... in a more 'semantics'-oriented approach to naming?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants