Search Results
Search type | Search syntax |
---|---|
Tags | [tag] |
Exact | "words here" |
Author |
user:1234 user:me (yours) |
Score |
score:3 (3+) score:0 (none) |
Answers |
answers:3 (3+) answers:0 (none) isaccepted:yes hasaccepted:no inquestion:1234 |
Views | views:250 |
Code | code:"if (foo != bar)" |
Sections |
title:apples body:"apples oranges" |
URL | url:"*.example.com" |
Saves | in:saves |
Status |
closed:yes duplicate:no migrated:no wiki:no |
Types |
is:question is:answer |
Exclude |
-[tag] -apples |
For more details on advanced search visit our help page |
For questions regarding Agda: the programming language / proof assistant.
7
votes
Accepted
Does Agda have breaking changes?
It has tons of breaking changes. For example, if they've found an inconsistency, they'll try to restrict some features, so code surely breaks.
For instance, they used to have a special treatment for w …
5
votes
Accepted
When installing Agda does one have to be attentive to a version?
So, if you have installed Agda, remember the version and download the suitable version of the libraries. OTOH, if you intend to use a certain library, make you install the suitable version of Agda. … For example, the compiler of Cedille does not work with latest Agda (see my pull request. …
3
votes
When should I use `no-eta-equality` in Agda records?
Then disabling eta equality for a record saves time for Agda. …
15
votes
Accepted
In Agda, why is universe polymorphism explicit?
First of all, you may simplify your code with the ∀ keyword:
data Σ' ∀ {i} {j} (A : Set i) (B : A → Set j) : Set (i ⊔ j) where
pair : (x : A) → B x → Σ' A B
You may also make use of the variable …
2
votes
Accepted
Agda Error after reload when successfully filling a goal
This is a problem of the implementation of Cubical Agda. … compPath-filler:
Refl∙ {x = x} {y = y} p = sym (compPath-filler p refl)
A simple explanation of the error message: hcomp (λ { j (i = i0) → x ; j (i = i1) → refl j }) (p i) is compPath p refl, and this is what Agda …
6
votes
Accepted
What are the differences and similarities between records, coinductive records, and codataty...
I would say in Agda, coinductive records is a technique of implementing codata types. … Records in Agda are by default non-recursive, say, you may think of them as a named version of sigma types (so they have η-rules, etc.), but coinductive records are totally different, either in the semantic …
4
votes
Can I use if_then_else on indexed paths in HITs?
Is there a way to write a function like this, in which the result depends on x?
foo : Test → Bool
foo point = true
foo (loop false i) = true
foo (loop true i) = true
The logic is equivalent to your …
1
vote
Agda: Cannot Instantiate Metavariable
Apart from @Trebor's answer, there is another way to specify the implicit argument:
(x , u) ≡ (_,_ {B = B} y (transp (λ i → B (p i)) i0 u))
You may also remove the parentheses on the right hand side: …
1
vote
Why doesn't the proof found by Agda's automatic search (with dot-prefixed patterns) work?
Nowadays, thanks to the developers (I think primarily Jesper Cockx and Andreas Abel), the Agda LHS elaborator can infer dotted patterns automatically, so you don't have to mark it with a dot anymore if … However, if you want to put expressions there, you will need the dot, like if you remove the dot above and Agda 2.6.5-9e4afb1 will still complain about it. …
7
votes
Accepted
Why can termination checker affect strict Prop in Agda?
After some research I have found a counterexample by Jesper Cockx:
data ⊥ : Prop where
data Bad : Prop where
b : ((P : Prop) → P → P) → Bad
bad : Bad
bad = b (λ P p → p)
no-bad : Bad → ⊥
no-bad ( …
6
votes
Accepted
How to provide proof for termination in Agda?
There are three possible approaches:
Use a different algorithm, like division in stdlib, see div-helper.
Use the well-founded induction library. There are many online resources with examples, like ht …
7
votes
Accepted
Case splitting with quotient types in Cubical Agda
It means that your implementation of the squash case, let's call it u (where u may refer to i, j, p1, p2, etc., and can perform recursion), must satisfy the following definitional equalities:
u [i ↦ …
11
votes
What are the differences between MLTT and CIC?
Apart from judgmental equality, MLTT and CIC also differ in the following:
The existence of an impredicative universe. CIC has Prop, and that's what makes it a part of the lambda cube. This universe …
6
votes
How do real-world proof assistants bind variables and check equality?
Core term definition
In the latest version of Aya, we use locally nameless approach where names are represented by Java object identity (see this), and bound variables are integers (see this).
Bound v …