First of all, I apologize if this question is slightly misplaced, but this seemed the best place to ask it given the mathematical/theoretical nature of the discussion. Given that the Curry-Howard correspondence tells us that terms of certain typed lambda calculi serve as proofs of the logical statements that their types embody, it seems that hypothetically such a programming language should itself be a fully functional theorem prover. What I have been able to find seems to indicate this is the case and the addition of other technologies like tactics languages or reflection are matters of pragmatic rather than tehoretical necessity. In other words, they make writing certain proofs much faster, though it is possible to write the same proofs in the raw language itself and the proofs are often represented internally this way. So my question roughly is whether or not I am correct in my conjecture about dedicated proof languages/techniques being theoretically unnecessary, and if so, what are some examples of practical mathematical/logical problems that make the auxiliary facilities desirable? Along with this, how do these added technologies relate to the base language? I understand Ltac is an untyped imperative language that allows a sort of meta-programming by interactively manipulating terms of Coq's base language in logically sound ways, but I am not certain how the tactics themselves are known to be sound since they are part of a separate untyped language and I am even less clear on how reflection in languages like Agda relates to the "non-proof" parts of the language. Thank you for any insight you could provide on any of these points.
2026-03-25 09:25:21.1774430721
Why do we need tactics, reflection and other techniques when we have Curry-Howard for theorem proving?
183 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in SOFT-QUESTION
- Reciprocal-totient function, in term of the totient function?
- Ordinals and cardinals in ETCS set axiomatic
- Does approximation usually exclude equality?
- Transition from theory of PDEs to applied analysis and industrial problems and models with PDEs
- Online resources for networking and creating new mathematical collaborations
- Random variables in integrals, how to analyze?
- Could anyone give an **example** that a problem that can be solved by creating a new group?
- How do you prevent being lead astray when you're working on a problem that takes months/years?
- Is it impossible to grasp Multivariable Calculus with poor prerequisite from Single variable calculus?
- A definite integral of a rational function: How can this be transformed from trivial to obvious by a change in viewpoint?
Related Questions in COMPUTER-SCIENCE
- What is (mathematically) minimal computer architecture to run any software
- Simultaneously multiple copies of each of a set of substrings of a string.
- Ackermann Function for $(2,n)$
- Algorithm for diophantine equation
- transforming sigma notation into harmonic series. CLRS A.1-2
- Show that if f(n) is O(g(n) and d(n) is O(h(n)), then f(n) + d(n) is O(g(n) + h(n))
- Show that $2^{n+1}$ is $O(2^n)$
- If true, prove (01+0)*0 = 0(10+0)*, else provide a counter example.
- Minimum number of edges that have to be removed in a graph to make it acyclic
- Mathematics for Computer Science, Problem 2.6. WOP
Related Questions in THEOREM-PROVERS
- Getting to know the Mizar Mathematical Library
- First Order Logic knowledge base problem
- Combinatorics sum to 1 using Identity
- Sharkovsky's theorem, period 4 implies period 2
- How to prove that the XOR problem for dimension d is not lineary seperable
- How to Prove The Complement Of The Domain Is Complement Of The Image If f Is Bijective
- Is it sufficient to prove $P(x) \geq a$ if we already know $P(x) > a$?
- predecessor and multiplication prove
- Prove of a theorem of a geometrical place
- Cosets form a group if normal subgroup
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
Tactics are important for the pragmatics of flexibility and maintainability of larger scale projects, you can learn about it in CPDT. There are no soundness criteria needed for tactics as they just build up constructions which the type theory then checks and will reject if they are invalid.
Reflection is separate from tactics - it is a consequence of the language having functions of dependent type. If you define an interpretation function that reflects some syntax into meaningful statements (types) you may also be able to write a function that takes some syntax and maybe produces a proof (inhabitant) of its interpretation. You may see an example of this in Proofs of correctness in Mathematics and Industry - Henk Barendregt. Reflection may be used in the same way as a tactic but it much more formal and in accordance with Godel expressing more of the full type theory in terms of itself becomes increasingly difficult.