Skip to content

Conversation

@logical-ivan
Copy link
Contributor

Modified partial derivative formalization to correct argument order and add missing coefficient: (H' : ∀ x, h x = a * (fderiv ℝ h (1, 0) x) + (fderiv ℝ h (0, 1) x)) →
(H' : ∀ x, h x = a * (fderiv ℝ h x (1, 0)) + b * (fderiv ℝ h x (0, 1)))

The English problem asks to prove that if h : ℝ² → ℝ satisfies the PDE h(x,y) = a·∂h/∂x(x,y) + b·∂h/∂y(x,y) and is bounded, then h ≡ 0.

The original formalization contains two errors:

  1. Wrong argument order: fderiv ℝ h (1, 0) x evaluates the derivative at the constant point (1,0), not at the variable point x. This represents ∂h/∂x|(₁,₀) rather than ∂h/∂x|(ₓ,ᵧ). The corrected fderiv ℝ h x (1, 0) properly evaluates the partial derivative at each point x.

  2. Missing coefficient b: The original omits the coefficient b in the second term, changing the PDE to h = a·∂h/∂x + ∂h/∂y. This fundamentally alters the mathematical problem—the original accidentally creates a homogeneity condition, while the correct formalization involves directional derivatives along (a,b).

Modified partial derivative formalization to correct argument order and add missing coefficient:
(H' : ∀ x, h x = a * (fderiv ℝ h (1, 0) x) + (fderiv ℝ h (0, 1) x))
→
(H' : ∀ x, h x = a * (fderiv ℝ h x (1, 0)) + b * (fderiv ℝ h x (0, 1)))

The English problem asks to prove that if h : ℝ² → ℝ satisfies the PDE h(x,y) = a·∂h/∂x(x,y) + b·∂h/∂y(x,y) and is bounded, then h ≡ 0.

The original formalization contains two errors:

1. Wrong argument order: fderiv ℝ h (1, 0) x evaluates the derivative at the constant point (1,0), not at the variable point x. This represents ∂h/∂x|(₁,₀) rather than ∂h/∂x|(ₓ,ᵧ). The corrected fderiv ℝ h x (1, 0) properly evaluates the partial derivative at each point x.

2. Missing coefficient b: The original omits the coefficient b in the second term, changing the PDE to h = a·∂h/∂x + ∂h/∂y. This fundamentally alters the mathematical problem—the original accidentally creates a homogeneity condition, while the correct formalization involves directional derivatives along (a,b).
(a b M : ℝ)
(H : ContDiff ℝ 1 h)
(H' : ∀ x, h x = a * (fderiv ℝ h (1, 0) x) + (fderiv ℝ h (0, 1) x))
(H' : ∀ x, h x = a * (fderiv ℝ h x (1, 0)) + b * (fderiv ℝ h x (0, 1)))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch! My first thought was maybe the order switched at some point in Mathlib, but looks like it has always been this way - the other problems in PutnamBench using fderiv follow the format as in your fix. Looks good, thanks!

@GeorgeTsoukalas GeorgeTsoukalas merged commit 961af76 into trishullab:main Jan 8, 2026
1 check passed
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