Skip to content

Add MV short-answer mode for symbolic + structural math validation - #27

Open
Tom-van-Woudenberg with Copilot wants to merge 11 commits into
mainfrom
copilot/create-ms-mode-for-math-questions
Open

Add MV short-answer mode for symbolic + structural math validation#27
Tom-van-Woudenberg with Copilot wants to merge 11 commits into
mainfrom
copilot/create-ms-mode-for-math-questions

Conversation

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown

The existing M[...] mode accepts any symbolically equivalent expression, which can wrongly mark variable-swapped answers as correct (e.g., w_C = 0 accepted for w_B = 0, or D*x + C accepted for C*x + D). This PR introduces MV[...] (V for variable-aware) to require both symbolic equivalence and structural variable-role consistency, while still accepting any valid mathematical arrangement.

How MV works:

  • Symbolic simplification is applied before comparison, so simplified forms (e.g. M^2*C^2/M) are correctly accepted.
  • Any commutative reordering of terms or factors is accepted (e.g. D + C*x matches C*x + D).
  • Answers where variables take structurally different roles are rejected even when mathematically equivalent (e.g. D*x + C does not match C*x + D).
  • For equation answers, terms may additionally be freely rearranged between the two sides or the sides may be swapped (e.g. E/m = c^2 is accepted for E = m*c^2).

Copilot AI changed the title [WIP] Add MS mode for math mode questions with variable checking Add MS short-answer mode for symbolic + structural math validation Aug 3, 2026
@Tom-van-Woudenberg Tom-van-Woudenberg changed the title Add MS short-answer mode for symbolic + structural math validation Add MV short-answer mode for symbolic + structural math validation Aug 3, 2026
…tions use variable-role checking; rename MEQE to MVE
@Tom-van-Woudenberg

Copy link
Copy Markdown
Member

@Tom-van-Woudenberg
Tom-van-Woudenberg marked this pull request as ready for review August 3, 2026 05:03
@douden

douden commented Aug 3, 2026

Copy link
Copy Markdown
Member

Shouldn't this be a (necessary) improvement of M, instead of its own type?

@Tom-van-Woudenberg

Copy link
Copy Markdown
Member

@douden, if we would make this the standard behaviour of M[], do you see any issues?

@douden

douden commented Sep 1, 2026

Copy link
Copy Markdown
Member

I would not see any issues.

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.

3 participants