Skip to content

Conversation

@lowasser
Copy link
Collaborator

...and so are lots of other simple types for which that principle wasn't written down yet?

Copy link
Collaborator

@fredrik-bakke fredrik-bakke left a comment

Choose a reason for hiding this comment

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

Just got some comments on naming and proof strategies

( approximation-net-Metric-Space X ε S)
```

### Given any net for a metric space `X`, it is propositionally decidable whether `X` is inhabited
Copy link
Collaborator

Choose a reason for hiding this comment

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

Being inhabited is already a proposition

Suggested change
### Given any net for a metric space `X`, it is propositionally decidable whether `X` is inhabited
### Given any net for a metric space `X`, it is decidable whether `X` is inhabited

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Maybe that should be "X is propositionally decidable"?

Comment on lines +160 to +166
( finitely-enumerable-subset-net-Metric-Space
( metric-space-subset-ℝ S)
( δ)
( M δ) ,
backward-implication
( is-coinhabited-net-Metric-Space (metric-space-subset-ℝ S) δ (M δ))
( |S|))
Copy link
Collaborator

Choose a reason for hiding this comment

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

This was better before

Copy link
Collaborator

Choose a reason for hiding this comment

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

even though coinhabitedness is a stronger result, either direction is still useful, as demonstrated here, and can/should still be recorded.

Comment on lines +210 to +237
### The standard finite types are decidable

```agda
is-decidable-Fin : (n : ℕ) is-decidable (Fin n)
is-decidable-Fin zero-ℕ = inr (λ ())
is-decidable-Fin (succ-ℕ n) = inl (neg-one-Fin n)

is-inhabited-or-empty-Fin : (n : ℕ) is-inhabited-or-empty (Fin n)
is-inhabited-or-empty-Fin n =
is-inhabited-or-empty-is-decidable (is-decidable-Fin n)
```

### The finite types are propositionally decidable

```agda
module _
{l : Level} (X : Finite-Type l)
where

is-inhabited-or-empty-type-Finite-Type :
is-inhabited-or-empty (type-Finite-Type X)
is-inhabited-or-empty-type-Finite-Type =
rec-trunc-Prop
( is-inhabited-or-empty-Prop (type-Finite-Type X))
( λ (n , Fin-n≃X)
is-inhabited-or-empty-equiv' Fin-n≃X (is-inhabited-or-empty-Fin n))
( is-finite-type-Finite-Type X)
```
Copy link
Collaborator

Choose a reason for hiding this comment

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

These results are about not-necessarily-inhabited finite types, so they should go in standard-finite-types and finite-types respectively

Comment on lines +114 to +117
( λ (N , Fin-n↠X)
is-inhabited-or-empty-surjection
( Fin-n↠X)
( is-inhabited-or-empty-Fin N))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
( λ (N , Fin-n↠X) →
is-inhabited-or-empty-surjection
( Fin-n↠X)
( is-inhabited-or-empty-Fin N))
( λ (n , Fin-n↠X) →
is-inhabited-or-empty-surjection
( Fin-n↠X)
( is-inhabited-or-empty-Fin n))

Copy link
Collaborator

Choose a reason for hiding this comment

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

since you use a lower case n in Fin-n↠X

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