ProofObject[…]
represents a proof object generated by FindEquationalProof.
ProofObject
ProofObject[…]
represents a proof object generated by FindEquationalProof.
Details
- Properties of a proof can be obtained using ProofObject[…]["prop"].
- Possible properties include:
-
"ProofDataset" proof steps as a dataset "ProofGraph" abstract proof network "ProofGraphWeighted" abstract proof network with central lemmas emphasized "ProofLength" number of steps in the proof "ProofNotebook" proof written out in a notebook "ProofFunction" function for validating rewrite rules "Theorems" statement of theorems "Axioms" statement of axioms "Logic" type of logic used (e.g. "EquationalLogic")
Examples
open all close allBasic Examples (1)
Prove a theorem in first-order logic:
proof = FindEquationalProof[f[f[e, e], e] == e, ForAll[a, f[a, e] == a]]proof["Theorems"]Show the complete list of proof steps as a Dataset object:
proof["ProofDataset"]Show the abstract proof network:
proof["ProofGraph"]Scope (6)
Prove a theorem in first-order logic:
proof = FindEquationalProof[f[f[e, e], e] == e, ForAll[a, f[a, e] == a]]proof["Theorems"]State the axioms of the theorem:
proof["Axioms"]proof["Logic"]Show the complete list of proof steps as a Dataset object:
proof["ProofDataset"]Show the abstract proof network:
proof["ProofGraph"]Typeset a natural language argument:
proof["ProofNotebook"]Build a function that performs the steps of the proof:
pf = proof["ProofFunction"]pf[]Specify the axioms of group theory:
groupTheory = {ForAll[{a, b, c}, g[a, g[b, c]] == g[g[a, b], c]], ForAll[a, g[a, e] == a], ForAll[a, g[a, inv[a]] == e]}Prove the existence of the left identity:
proof = FindEquationalProof[ForAll[x, g[e, x] == x], groupTheory]proof["Theorems"]State the axioms of the theorem:
proof["Axioms"]proof["Logic"]Specify the axioms of abelian group theory:
abelianGroupTheory = {ForAll[{a, b, c}, g[a, g[b, c]] == g[g[a, b], c]], ForAll[a, g[a, e] == a], ForAll[a, g[a, inv[a]] == e], ForAll[{a, b}, g[a, b] == g[b, a]]}Prove a theorem in abelian group theory:
proof = FindEquationalProof[ForAll[{a, b, c}, g[g[g[a, b], c], inv[g[a, c]]] == b], abelianGroupTheory]ds = proof["ProofDataset"]Extract the statement of Critical Pair Lemma 2:
Query[Key[{"CriticalPairLemma", 2}]][ds]["Statement"]Extract the proof of Critical Pair Lemma 2:
Query[Key[{"CriticalPairLemma", 2}]][ds]["Proof"]Specify some short axioms for Boolean logic:
shortLogic = {ForAll[{a, b}, nand[nand[a, a], nand[a, b]] == a], ForAll[{a, b}, nand[a, nand[a, b]] == nand[a, nand[b, b]]], ForAll[{a, b, c}, nand[a, nand[a, nand[b, c]]] == nand[b, nand[b, nand[a, c]]]]}Prove a theorem in Boolean algebra:
proof = FindEquationalProof[ForAll[{a, b, c}, nand[nand[nand[a, b], c], nand[a, nand[nand[a, c], a]]] == c], shortLogic]Show the abstract proof network:
pg = proof["ProofGraph"]Highlight all of the substitution lemmas:
HighlightGraph[pg, Select[VertexList[pg], MemberQ["SubstitutionLemma"]]]Prove a theorem in first-order logic:
proof = FindEquationalProof[ForAll[x, f[g[x]] == g[f[x]]], ForAll[x, f[x] == g[x]]]Typeset a natural language argument:
proof["ProofNotebook"]Specify the axioms of Sheffer logic:
shefferLogic = {ForAll[a, nand[nand[a, a], nand[a, a]] == a], ForAll[{a, b}, nand[a, nand[b, nand[b, b]]] == nand[a, a]], ForAll[{a, b, c}, nand[nand[a, nand[b, c]], nand[a, nand[b, c]]] == nand[nand[nand[b, b], a], nand[nand[c, c], a]]]}Prove a theorem in Sheffer logic:
proof = FindEquationalProof[ForAll[{a, b}, nand[a, nand[a, b]] == nand[a, nand[b, b]]], shefferLogic]Build (and run) the associated proof function:
pf = proof["ProofFunction"]pf[]Related Guides
Text
Wolfram Research (2018), ProofObject, Wolfram Language function, https://reference.wolfram.com/language/ref/ProofObject.html (updated 2019).
CMS
Wolfram Language. 2018. "ProofObject." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/ProofObject.html.
APA
Wolfram Language. (2018). ProofObject. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ProofObject.html
BibTeX
@misc{reference.wolfram_2026_proofobject, author="Wolfram Research", title="{ProofObject}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/ProofObject.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_proofobject, organization={Wolfram Research}, title={ProofObject}, year={2019}, url={https://reference.wolfram.com/language/ref/ProofObject.html}, note=[Accessed: 13-June-2026]}