Skip to content

More logic #1387

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

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open

Conversation

fredrik-bakke
Copy link
Collaborator

Pulls logic additions from #1264.

Copy link
Collaborator

@VojtechStep VojtechStep left a comment

Choose a reason for hiding this comment

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

I managed to go through the first half of files, hopefully to be continued some time next week


The
{{#concept "double negation image" Disambiguation="of a map" Agda=double-negation-im}}
of `f : A → B` is the essentially unique type that factorizes `f` as a
Copy link
Collaborator

Choose a reason for hiding this comment

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

You write about an essentially unique type, but I see no reference to uniqueness (or universal properties) in this file. Honestly this paragraph is pretty cryptic, and I find it hard to believe it's at all understandable to many people outside Martín's sphere of influence 😅. Would you mind rephrasing it, and at least drawing a diagram?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I expanded a bunch on the idea section, let me know if it is satisfactory now or if I included something new that is confusing.

Copy link
Collaborator

@VojtechStep VojtechStep left a comment

Choose a reason for hiding this comment

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

Hi, sorry for the extra late review. I have some naming questions around density and propositional decidability I would like to have addressed before merging this development.

{l1 l2 l3 : Level} {A : UU l1}
where

is-decidable-comp-decidable-family-decidable-subtype' :
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think this and the following definition are related to subtypes specifically?


**Remark.** It is an established fact that both the property of satisfying
double negation elimination, and the property of having decidable negation, are
strictly weaker conditions than being decidable. Therefore, this result
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't understand how this proves independence. Also could you include a source for the "established fact"?

has-prop-double-negation-elim-has-double-negation-elim H = unit-trunc-Prop ∘ H
```

### Propositional double negation elimination for merely decidable types
Copy link
Collaborator

Choose a reason for hiding this comment

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

Heading says "merely decidable", formalization says is-inhabited-or-empty


## Idea

A [map](foundation-core.function-types.md) is said to be
Copy link
Collaborator

Choose a reason for hiding this comment

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

"Propositionally decidable maps/types" don't actually appear to ever be mentioned in prose outside of their files? You usually use "merely decidable", wouldn't it then be better to name the concept that? Especially since the corresponding definition is is-inhabited-or-empty(-map)?, not is-propositionally-decidable(-map)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

While I can't recall my rationale for this terminology anymore, notice that there are multiple concepts one might refer to as "merely decidable":

  • ║ is-decidable-map f ║₋₁
  • (x : A) → ║ is-decidable (fiber f x) ║₋₁
  • (x : A) → is-inhabited-or-empty (fiber f x)

while the last two are equivalent, the first one is a stronger assumption which is implied by choice. I don't know if perhaps I reserved "merely decidable map" for the first one, I'll have to think about it

### Decidable maps are propositionally decidable

```agda
is-inhabited-or-empty-map-is-decidable-map :
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this definition intentionally non-abstract, in contrast with the other functions?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Probably yes. Cf my other comment on unfolding

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