Newest Questions

Filter by
Sorted by
Tagged with
0 votes
0 answers
21 views

I successfully downloaded the Theorem Prover SPASS GUI v3.7 on Windows 7 and it works fine. But, any changes to Input are ignored - it appears that the Run button does not use the live editor buffer. ...
Lewis Baxter's user avatar
0 votes
1 answer
35 views

Does the Lean 4 standard library has a function for deciding whether a string is a sub-string of another string? For example, in python and other languages, one can use the ...
tinlyx's user avatar
  • 3,340
4 votes
1 answer
227 views

For context, I am reading "Principles of Dependent Type Theory". Intensional Type Theory is a dependent type theory where we take out equality reflection to make type conversion decidable. I'...
Lucas's user avatar
  • 111
0 votes
0 answers
61 views

I read that there are performance bottlenecks for proof assistants, and verification of software often has 10x--100x as many lines of proof as lines of code being verified. I guess there is also ...
tinlyx's user avatar
  • 3,340
3 votes
2 answers
381 views

I've been using Lean for a few weeks now, but I've hit a simple roadblock: I have reduced my main goal in a theorem to the statement 0 < 0.5, but I have no idea ...
Tim Leach's user avatar
1 vote
1 answer
67 views

In Lean4, suppose x has type (Set Nat) × Nat. What is a clean, idiomatic way to pattern match to see if the set is a singleton. ...
Michael D. Adams's user avatar
0 votes
1 answer
111 views

I am starting to program a proof assistant in Python. The proof assistant will be based in FOL. I might be interested in proving the soundness and completeness theorem for first-order logic in my ...
Pineapple Fish's user avatar
2 votes
1 answer
47 views

The following code parses just fine: ...
Igott's user avatar
  • 141
3 votes
1 answer
142 views

In the document of Lean4 I know that the foundation of Lean4 is a kind of intensional type theory. If I understand that correctly, by extensional type theory we mean that there is only one constructor ...
Westlifer's user avatar
  • 133
0 votes
0 answers
41 views

I'm new to Rocq and want to reason about the TAPL version of Robinsons Unification algorithm. I've managed to implement the algorithm using 'Program Fixpoint', but even after satisfying all the ...
Ben Borg's user avatar
9 votes
2 answers
931 views

Crossposting note: This is a crosspost from a question I first asked in MathOverflow. ——————————————————————————————————————————— Perhaps one of the biggest issues when carrying out research in ...
Emily's user avatar
  • 231
3 votes
0 answers
86 views

Recently I've been wondering about whether or not have there been formalisation efforts involving spectral sequences, in particular in Lean. To this end, I've been trying to better understand the ...
Emily's user avatar
  • 231
1 vote
3 answers
123 views

The following lemma compiles in Rocq ...
Zlotz's user avatar
  • 387
4 votes
1 answer
131 views

In rocq, it is very common to write tactics which look for specific patterns in the goal or context, like for example this: ...
while1fork's user avatar
1 vote
1 answer
95 views

I'm trying to prove some facts about a function which outputs one of two strings based on an inequality operation on two integers. I haven't gotten very far before hitting a wall, how would I proceed ...
Adam Barber's user avatar
2 votes
2 answers
92 views

I formalized simply typed lambda calculus using a list of pairs as context implementation: ...
user4035's user avatar
  • 621
2 votes
0 answers
61 views

My Prolog program generates small statements in Peano Arithmetic (0,s,+,$\times$,=, $\neq$, $\forall$,$\exists$ ). Currently I manually use WebSPASS to prove the statement (or its negation). If it ...
Lewis Baxter's user avatar
3 votes
1 answer
127 views

It is easy to prove forall t1 t2 : Prop, @eq Prop t1 t2 -> @eq Type t1 t2. The converse can be proven if we assume univalence. Can it be proven without ...
Jason Gross's user avatar
  • 1,709
1 vote
0 answers
88 views

What are all the known attempts to port the Software Foundations (Coq) textbook series to Lean 4, and what is their current status? If there is no complete port, what is the community's canonical ...
Charlie Parker's user avatar
1 vote
1 answer
126 views

If I use Isabelle's markup for citations in the document preparation system as one usually finds it online, Isabelle issues warnings: ...
Benjamin Bisping's user avatar
0 votes
0 answers
47 views

I am trying to understand how Lean4's syntax and macro expansions work. I initially guessed is that it works like Backus Normal Form. My example seems to work to some extent: ...
tinlyx's user avatar
  • 3,340
2 votes
1 answer
156 views

Suppose the following definition of an infinite stream in rocq: CoFixpoint test x: traceinf := Econsinf x (test x). It seems that wanting to prove ...
return true's user avatar
0 votes
1 answer
59 views

I am trying to play with lambda calculus basic rules in coq language. I read the chapter about reduction rules in coq documentation. I wrote the following: ...
user4035's user avatar
  • 621
5 votes
2 answers
169 views

I am trying to wrap my head around some different 'classes' of types I have heard about that are used in dependently types languages, and how they compare to each other. This is my current ...
MukundKS's user avatar
  • 165
0 votes
1 answer
68 views

I learned Vector (list/array with known length) from Idris2, and experienced some cultural shock when encountering Lean's definition of Vector. In Idris, Vector is directly an inductive definition, ...
tinlyx's user avatar
  • 3,340
3 votes
1 answer
221 views

Is it possible in Rocq tactics / Ltac, to create a new variable with an expression as value, to allow writing simply this variable instead of the whole expression when needed? I could imagine creating ...
Sylvain Chiron's user avatar
6 votes
1 answer
234 views

Why does CCHM cubical type theory (and hence also cubical Agda) use De Morgan cubes and not Boolean cubes? It possibly has something to do with Lemma 2.1 in these notes by Coquand, but I've never ...
anuyts's user avatar
  • 161
0 votes
1 answer
73 views

I downloaded the sphere-eversion project ( https://github.com/leanprover-community/sphere-eversion) I tried to build the blueprint following the instruction written in the site above: lake exe cache ...
Kfuji's user avatar
  • 21
1 vote
0 answers
58 views

For interacting with the OS, I was wondering whether Lean4 has standard functions to call unix shell commands? Basically, I am looking for the Lean equivalent of python's ...
tinlyx's user avatar
  • 3,340
0 votes
1 answer
74 views

In Idris2, Vector is defined here inductively in terms of nil and cons as follows: ...
tinlyx's user avatar
  • 3,340
0 votes
2 answers
146 views

In a Coq/Rocq proof, I want to use an hypothesis relating two terms by the reflexive closure of a relation. I defined a reflexive closure as follows: ...
Yann's user avatar
  • 11
3 votes
1 answer
80 views

Normally one uses Foo.noConfusion to invoke injectivity of inductive constructors ...
Jozef Mikušinec's user avatar
2 votes
1 answer
755 views

Can I prove the following lemma? ...
Zlotz's user avatar
  • 387
2 votes
0 answers
59 views

I sometimes work in different regions of the world, and the connection to the standard lean/mathlib repository is often times unstable. I was wondering: Is it possible to configure lake in Lean 4 to ...
tinlyx's user avatar
  • 3,340
6 votes
2 answers
538 views

I'm working on a project in Lean4 that involves formalizing numerical analysis algorithms, and I need to be able to formally reason about floating-point numbers. My understanding is that Lean4's ...
Charlie Parker's user avatar
3 votes
0 answers
61 views

Suppose in Lean 4 we have derived a term t of a given type A and bound it to a name: ...
Andrej Bauer's user avatar
  • 12.9k
1 vote
1 answer
144 views

Observation 1. #[universes(polymorphic=yes)] Axiom foo@{u} : Type@{u} -> Type@{u}. Inductive bar (A : Set) : Set := | mkbar : foo A -> bar A. Since the ...
Kijeong Lim's user avatar
0 votes
1 answer
85 views

Given two terms x and y of unknown types, is there a way in Lean 4 to coerce one term to the type of the other term? I know that ...
tinlyx's user avatar
  • 3,340
1 vote
3 answers
204 views

Isn't conditional probability implemented in Rocq/Mathcomp? Some effort in this direction is made in this article (with a finiteness restriction) but I see no mention in Mathcomp/analysis' probability....
Zlotz's user avatar
  • 387
0 votes
1 answer
148 views

I’ve been thinking about this lately — we have all these formal verification tools, theorem provers, type systems, etc., and they do work for specific cases like compilers or microkernels. But when it ...
May Mei's user avatar
3 votes
2 answers
197 views

Lean4's documentation says the following about the generalizing clause in the induction command ...
tinlyx's user avatar
  • 3,340
3 votes
2 answers
874 views

In standard mathematics, there is the notion of "equivalent definitions" of something. For example, we can define the Fibonacci sequence directly via recursion or by using a more performance-...
Niels Voss's user avatar
5 votes
1 answer
116 views

I'm working with the closed modality from Modalities in HoTT and Synthetic Tait Computability, which is the following higher inductive type in Cubical Agda. ...
user6097's user avatar
2 votes
0 answers
87 views

The Lean 4 documentation says that Lean offers efficient interoperability with any language that supports the C ABI. I know that this includes C and C++. But I was just wondering: Is there a Foreign ...
tinlyx's user avatar
  • 3,340
-4 votes
1 answer
167 views

I’m trying to assemble a clear, expert-level answer to a common worry: Even if Coq’s kernel is correct, how can a proof still “pass” in Coq and yet be logically unsound? I’m looking for a canonical ...
Charlie Parker's user avatar
1 vote
0 answers
55 views

So I have a small example that doesn't work: From Coq Require Import PeanoNat. Require Import FMapList. Module Import VarMap := FMapList.Make(Nat). Gives: ...
Ulises Torrella's user avatar
4 votes
0 answers
69 views

I am reading the chapter Embedding DSLs By Elaboration from Meta Programming in Lean4 (and other sources) about building a domain specific language in Lean 4. In the final example (quoted below) and ...
tinlyx's user avatar
  • 3,340
3 votes
1 answer
181 views

I'm sorry if this question is a little long and rambling, but I've been thinking about this for a while and would like to know if there's a systematic way to think about the following. When creating a ...
Niels Voss's user avatar
0 votes
0 answers
77 views

Given: $$ \Gamma \vdash f:\prod_{x:A} B(x) \\ \Gamma \vdash g:\prod_{x:A} B(x) \\ \Gamma, x:A \vdash f(x)=g(x) : B(x) \\ $$ Derive (write down the intermediate derivation tree) using $\eta$-...
Luna's Chalkboard's user avatar
1 vote
0 answers
102 views

I'm trying to define the Dirac measure as a probability: ...
Zlotz's user avatar
  • 387

15 30 50 per page
1
2 3 4 5
32