[Agda] Q: Equational Reasoning
Christoph Herrmann
ch at cs.st-andrews.ac.uk
Wed May 27 12:21:08 CEST 2009
Hi Andrej
Andrej Bauer wrote:
> Hi,
>
> this might be a good opportunity to ask. How does Agda deal with
> equational reasoning in subterms? It's one thing to say "use
> commutativity to prove that a * b equals b * a", but it's a different
> game when we say "use commutativity to prove that f(x, g(a * b)) =
> f(x, g(b* a))"?
>
I use (cong (\lambda p -> f (x, g ( p ) )) (comm* {a} {b}) ) where
cong stands for congruence
and comm* is a theorem I defined myself (since I do not know how to
use the library yet).
Basically the body of the lambda abstraction reflects the expression on
which the theorem
is applied and the abstracted variable the subterm to be rewritten.
> A more basic question is how to explain to agda that the fact a=b can
> be used to replace a by b in an expression.
>
> I am asking because I think Agda is very c00l, but I do not see (yet)
> whether it's suitable for developing large swaths of mathematics. Any
> opinions about that? What would it take to prove the fundamental
> theorem of calculus, for example?
>
> Andrej
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
>
Cheers
--
Dr. Christoph Herrmann
University of St Andrews, Scotland/UK
phone: office: +44 1334 461629, home: +44 1334 478648
email: ch at cs.st-andrews.ac.uk, c.herrmann at virgin.net
URL: http://www.cs.st-andrews.ac.uk/~ch
The University of St Andrews is a charity registered in Scotland: No SC013532
More information about the Agda
mailing list