Prospects of teaching/learning elementary math with computed-checked type theory
I've read as much as I can understand about type theory and homotopy type theory (HoTT) and it seems like these are very promising directions for re-foundationalizing mathematics in a way where complicated math proofs can be programmed and verified mechanistically. Unfortunately, but not surprisingly, all of this activity going on with type theory/HoTT is at a graduate-level and above.
Would it be useful as an exercise to try to formalize my understanding of relatively elementary subjects such as calculus, linear algebra, geometry, etc in a proof assistant such as Agda and just ignore the more advanced aspects of HoTT? Or is HoTT only useful for super advanced math
proof-verification foundations type-theory homotopy-type-theory univalent-foundations
|
show 3 more comments
I've read as much as I can understand about type theory and homotopy type theory (HoTT) and it seems like these are very promising directions for re-foundationalizing mathematics in a way where complicated math proofs can be programmed and verified mechanistically. Unfortunately, but not surprisingly, all of this activity going on with type theory/HoTT is at a graduate-level and above.
Would it be useful as an exercise to try to formalize my understanding of relatively elementary subjects such as calculus, linear algebra, geometry, etc in a proof assistant such as Agda and just ignore the more advanced aspects of HoTT? Or is HoTT only useful for super advanced math
proof-verification foundations type-theory homotopy-type-theory univalent-foundations
1
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
1
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58
|
show 3 more comments
I've read as much as I can understand about type theory and homotopy type theory (HoTT) and it seems like these are very promising directions for re-foundationalizing mathematics in a way where complicated math proofs can be programmed and verified mechanistically. Unfortunately, but not surprisingly, all of this activity going on with type theory/HoTT is at a graduate-level and above.
Would it be useful as an exercise to try to formalize my understanding of relatively elementary subjects such as calculus, linear algebra, geometry, etc in a proof assistant such as Agda and just ignore the more advanced aspects of HoTT? Or is HoTT only useful for super advanced math
proof-verification foundations type-theory homotopy-type-theory univalent-foundations
I've read as much as I can understand about type theory and homotopy type theory (HoTT) and it seems like these are very promising directions for re-foundationalizing mathematics in a way where complicated math proofs can be programmed and verified mechanistically. Unfortunately, but not surprisingly, all of this activity going on with type theory/HoTT is at a graduate-level and above.
Would it be useful as an exercise to try to formalize my understanding of relatively elementary subjects such as calculus, linear algebra, geometry, etc in a proof assistant such as Agda and just ignore the more advanced aspects of HoTT? Or is HoTT only useful for super advanced math
proof-verification foundations type-theory homotopy-type-theory univalent-foundations
proof-verification foundations type-theory homotopy-type-theory univalent-foundations
asked Nov 25 at 19:46
Brandon Brown
1987
1987
1
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
1
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58
|
show 3 more comments
1
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
1
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58
1
1
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
1
1
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58
|
show 3 more comments
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3013299%2fprospects-of-teaching-learning-elementary-math-with-computed-checked-type-theory%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3013299%2fprospects-of-teaching-learning-elementary-math-with-computed-checked-type-theory%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
It might be useful for you. I doubt that it would be useful for "teaching/learning elementary math".
– Ethan Bolker
Nov 25 at 19:48
In several ways, HoTT is more like normal math than Agda is (e.g. function extensionality holds). Developing any traditional math should only be easier in HoTT than in CIC, say.
– Derek Elkins
Nov 25 at 20:30
1
Incidentally, there's nothing particular about type theory that makes machine-checked proofs possible. There are set-theory-based proof assistants such as Mizar. Also ones that are type-theory-based, but on non-dependent type theories, such as Isabelle/HOL. That said, formalizing any non-trivial chunk of mathematics ("elementary" or otherwise) is a challenging task in any of these proof assistants. Formalizing calculus would not be the task of a weekend but of many months, and that's assuming you're already familiar with the system you are using.
– Derek Elkins
Nov 25 at 20:37
"teaching/learning elementary mathematics" has several centuries of success and resources behind it. Given that, though, you are welcome to try alternate approaches by yourself. Be prepared for a lot of extra very difficult work.
– Somos
Nov 25 at 20:41
@DerekElkins Surely formalizing all of calculus would be a massive undertaking, but one could formalize the basics in a synthetic way right? If I wanted to formalize an entire field of math from a few foundational axioms, that would of course take a large team of people working a long time. However, in a traditional programming language I can import and use a function that is a black box to me. Can I do the same with a proof assistant? Just add axioms and develop them as proved theorems later, drastically improving the rate of progress?
– Brandon Brown
Nov 25 at 20:58