Skip to main content
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
Results tagged with
Search options answers only not deleted user 32

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 …
ice1000's user avatar
  • 6,522
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. …
ice1000's user avatar
  • 6,522
3 votes

When should I use `no-eta-equality` in Agda records?

Then disabling eta equality for a record saves time for Agda. …
ice1000's user avatar
  • 6,522
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 …
ice1000's user avatar
  • 6,522
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
ice1000's user avatar
  • 6,522
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 …
ice1000's user avatar
  • 6,522
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 …
ice1000's user avatar
  • 6,522
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: …
ice1000's user avatar
  • 6,522
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. …
ice1000's user avatar
  • 6,522
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 ( …
ice1000's user avatar
  • 6,522
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 …
ice1000's user avatar
  • 6,522
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 ↦ …
ice1000's user avatar
  • 6,522
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 …
ice1000's user avatar
  • 6,522
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 …