Skip to content

Add logical argument, premise, conclusion and rule of inference - #600

Merged
d-morrison merged 2 commits into
mainfrom
claude/project-thread-aj2ep4-logical-arguments
Nov 3, 2026
Merged

d-morrison merged 2 commits into
mainfrom
claude/project-thread-aj2ep4-logical-arguments

Conversation

@d-morrison

Copy link
Copy Markdown
Contributor

Adds four definitions from mcs (CSCI 201), each with an example, before the definition of proof on the Proof Writing page:

  • logical argument (def-logical-argument, mcs id kept);
  • premise (def-premise) and conclusion (def-conclusion), now their own definitions;
  • rule of inference (def-rule-of-inference, mcs id kept), whose example is affirming the consequent, a pattern that is not a rule.

These were in #597 until its review asked for premise and conclusion to get their own definitions and for one rule of inference per theorem, which did not fit under the PR size cap there.
The six common rules (modus ponens and the others) come next, one theorem each, in a PR that builds on this one.

Part of #453 and of the mds/mcs consolidation plan (https://claude.ai/artifact/De8D2LiAwjX3fpLezVDdS7).
The examples are new; mcs keeps its own.

Checked locally against gha main: check-term-links (0 errors), check-avoided-words and check-new-line-breaks are clean.


Generated by Claude Code

mcs (CSCI 201) defines these locally. Moving them here lets mcs include
them instead of keeping its own copies, per the mds/mcs consolidation
plan. Logical argument and rule of inference keep their mcs ids.

They were in #597 until its review asked for premise and conclusion to
get their own definitions, which mcs folds into the logical-argument
div. Each definition now has an example; the one for rule of inference
shows a pattern that is not one (affirming the consequent), so it does
not repeat the common rules, which follow in their own PR.

Part of #453.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished review — View run


I fetched PR #600 live just now. It is open, not a draft and not merged. Its head is 69c0f7fe987245d35277ea9744d53bda52e868c8, the commit I reviewed, so the verdict below still applies.

Verdict

Ready for merge

The earlier review gave this verdict at 3676d5d4. The merge of main added nothing to the PR's own diff, so it still stands. The one open item is a non-blocking suggestion: add a positive rule-of-inference example, such as modus ponens, to _subfiles/proof-writing/_exm-rule-of-inference.qmd.

Structured Review Data (JSON)
{
  "schema_version": "1.1",
  "reviewer": "claude",
  "commit_sha": "69c0f7fe987245d35277ea9744d53bda52e868c8",
  "verdict": "CLEAN",
  "findings": [],
  "detailed_assessment": "The PR still adds only _proof-writing.qmd includes and six subfiles under _subfiles/proof-writing; the merge of main brought in unrelated commits and the merge commit matches git's automatic result, so the prior review of the new definitions still applies.",
  "holistic_assessment": "The change is scoped to definition and example subfiles that follow repository conventions, with only a non-blocking suggestion to add a positive rule-of-inference example such as modus ponens."
}

Reviewed commit: 69c0f7f

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

💰 Cost: $0.2042 (review) — run

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.

2026-11-03 19:37 UTC

Copy link
Copy Markdown
Contributor Author

Merging under the session mwc grant (Ezra, 2026-11-03): CI is green and the Claude review on head 69c0f7f is clean, and check-pr-fully-clean.py exits 0.

The cross-model review gate is waived because no qualifying reviewer could run. OpenCode Go (opencode.ai/zen/go/v1/chat/completions, deepseek-v4-pro) returned HTTP 429 at 11:33 PST (Nov 3), and no other cross-harness reviewer is reachable from this cloud session.

Posted by Claude Code (AI agent) --- not written by a human.


Generated by Claude Code

@d-morrison
d-morrison merged commit fa019d0 into main Nov 3, 2026
41 checks passed
d-morrison pushed a commit that referenced this pull request Nov 3, 2026
The proof called Q the conclusion of a true conditional. #600 made
conclusion a defined term for arguments, later on the page, so the word
now reads as an unlinked first use (check-term-links) and linking it
would be a forward reference. State the step in symbols instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox
d-morrison added a commit that referenced this pull request Nov 3, 2026
…ls to Proof Writing (#597)

* Add rules of inference and quantifier negation to Proof Writing

mcs (CSCI 201) defines these general results locally. Moving them here,
one block per subfile, lets mcs include them instead of keeping its own
copies, per the mds/mcs consolidation plan. Each block keeps its mcs id.

Adds domain of discourse, negating a quantifier, logical argument, rule
of inference, the common rules of inference (modus ponens and five
others; exm-formal-proof already uses modus ponens without naming it),
a biconditional as two conditionals, and a cycle of conditionals. The
inference rules sit after the notes on the entailment symbols, which
they use.

Part of #453.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Add examples to #597 and move the inference rules out

The review of #597 asked for an example after each new definition and
result, as the rest of the Proof Writing page has. This adds one each
for domain of discourse, the quantifier laws, a biconditional as two
conditionals and a cycle of conditionals.

The quantifier theorem is renamed "De Morgan's laws for quantifiers",
with a remark saying why its two laws share one theorem, as De Morgan's
laws for propositions do. The cycle proof now splits into the all-false
case and the some-true case, and uses the definition of implies instead
of modus ponens, so it no longer needs the inference rules.

The biconditional and cycle results move before De Morgan's laws, so
this PR and #596 touch different lines of the page. Logical argument,
rule of inference and the inference rules move to their own PRs: the
review asked for premise and conclusion to get their own definitions
and for one rule per theorem, which does not fit under the PR size cap
here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Break the example lines in #597 at each clause

The review asked for one clause per line in the biconditional and cycle
examples. Also reword "every integer is not even" to the unambiguous
"no integer is even", and state the pairing in the remark instead of
claiming a reason the linked theorem does not give.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Link the first use of negation in the quantifier-negation example and remark

#598 links "negation" to def-not, so check-term-links now treats it as a
defined term and flags these unlinked first uses after the merge of main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Fix the quantifier examples flagged in the faed525 review of #597

- exm-domain-of-discourse no longer writes the existential quantifier,
  which the page defines later, so it has no forward reference.
- exm-equivalent-cycle puts its two "let" clauses on separate lines.
- exm-negate-quantifiers applies both laws to the S and P(x) it sets up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Reword the conditional step in the equivalent-cycle proof

The proof called Q the conclusion of a true conditional. #600 made
conclusion a defined term for arguments, later on the page, so the word
now reads as an unlinked first use (check-term-links) and linking it
would be a forward reference. State the step in symbols instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

* Break the conditional step at its clauses and introduce P and Q

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019xfc9pMBq15Hq3DgNBx1ox

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants