Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2599,7 +2599,7 @@ <H4 id="version-header"> This is
<li>The third is inverse: for every group element <I>X</I>, there is a group element <I>Y</I> such that <I>Y*X=1</I>.</li>
<li>This is a relatively easy exercise in group theory when written out in informal mathematical language, but turns out to be somewhat lengthy when one tries to formalise it in first-order logic. More generally, first-order logic tends to be too "low-level" of a proof system to be convenient for advanced mathematics; most proofs in mathematics are instead written in a more "high-level" fashion, using less formal, but more expressive, sentences in English (or in other languages) in place of the very limited sentences available to first-order logic.</li>
<li>Thanks to Gesse Roure for a short proof, and Anders Kaseorg for a shorter proof.</li>
<li><B>Technical note</B>: matching for this exercise has not yet been implemented.</LI>
<li>Matching uses a proxy template that omits the inverse axiom (whose existential quantifier the matcher cannot yet unify), so the law can be applied in later group-theory exercises such as 24.8.</li>
</UL>
</div>
<ol class="proof">
Expand Down Expand Up @@ -2752,7 +2752,7 @@ <H4 id="version-header"> This is
<li>Thanks to Martin Epstein for suggesting this exercise.</li>
<li>Stuck? <SPAN title="There are several ways to start. One is to first show that x*&alpha;*1 = x*&alpha;, where x is a left inverse of &alpha;.">Hover over this sentence.</SPAN></li>
<li>Thanks to Anders Kaseorg for a short proof, Martin Epstein for a shorter proof, and Anders Kaseorg for an even shorter proof.</li>
<li><B>Technical note</B>: matching for this exercise has not yet been implemented.</LI>
<li><B>Technical note</B>: matching for the cancellation law (24.4) is now available via a proxy template, so this exercise can apply it after deriving <I>x*(α*1) = x*α</I>.</LI>
</UL>
</div>
<ol class="proof">
Expand Down
3 changes: 2 additions & 1 deletion docs/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,8 @@ var exerciseData = {
"24.1(b)": [[equals(alpha,beta), equals(beta,gamma)], equals(alpha,gamma)],
"24.2": [[equals(alpha,beta)], equals(fa,fb)],
"24.3": [[forAll(equals(multiply(alpha,X),X),X), forAll(equals(multiply(X,beta),X),X)], equals(alpha,beta)],
"24.4": [[forAll(equals(multiply(one,X),X),X), forAll(forAll(forAll(equals(multiply(X,multiply(Y,Z)),multiply(multiply(X,Y),Z)), Z), Y), X), forAll(thereExists(equals(multiply(Y,X),one),Y),X), equals(multiply(alpha,beta),multiply(alpha,gamma))], equals(beta,gamma)],
"24.4": [[forAll(equals(multiply(one,X),X),X), forAll(forAll(forAll(equals(multiply(X,multiply(Y,Z)),multiply(multiply(X,Y),Z)), Z), Y), X), forAll(thereExists(equals(multiply(Y,X),one),Y),X), equals(multiply(alpha,beta),multiply(alpha,gamma))], equals(beta,gamma),
[forAll(equals(multiply(one,X),X),X), forAll(forAll(forAll(equals(multiply(X,multiply(Y,Z)),multiply(multiply(X,Y),Z)), Z), Y), X), equals(multiply(alpha,beta),multiply(alpha,gamma))], equals(beta,gamma)],
"24.5": [[forAll(equals(multiply(one,X),X),X), forAll(forAll(forAll(equals(multiply(X,multiply(Y,Z)),multiply(multiply(X,Y),Z)), Z), Y), X), thereExists(equals(multiply(X,alpha),one),X), thereExists(equals(multiply(X,beta),one),X)], thereExists(equals(multiply(X,multiply(alpha,beta)),one),X)],
"24.6": [[forAll(equals(multiply(one,X),X),X), forAll(equals(multiply(X,one),X),X), forAll(forAll(forAll(equals(multiply(X,multiply(Y,Z)),multiply(multiply(X,Y),Z)), Z), Y), X), forAll(equals(multiply(fX,X),one),X)], forAll(equals(ffX,X),X)],
"24.7": [[forAll(forAll(forAll(equals(power(power(X,Y),Z), power(X,multiply(Y,Z))),Z),Y),X), forAll(equals(multiply(sqrtX, sqrtX),X),X), forAll(equals(power(sqrtX,two),X),X), predicateSentence(R,[two]), NOT(predicateSentence(R,[sqrt2]))], thereExists(thereExists(AND(AND(NOT(RX),NOT(RY)), predicateSentence(R,[power(X,Y)])), Y), X)],
Expand Down