## Screenshot: Lean Code for Algebraic Theorems
### Overview
The image shows a code editor displaying three formalized mathematical theorems written in the Lean theorem prover. The code defines algebraic relationships, hypotheses, and proofs using Lean's syntax.
### Components/Axes
- **Theorem Definitions**:
- `theorem mathd_algebra_141`
- `theorem mathd_algebra_329`
- `theorem mathd_algebra_547`
- **Variables**:
- `a, b, x, y` (declared as real numbers: `a b : ℝ`, `x y : ℝ`)
- **Equations/Hypotheses**:
- `h1 : (a * b) = 180`
- `h2 : 2 * (a + b) = 54`
- `h0 : 3 * y = x`
- `h1 : 2 * x + 5 * y = 11`
- `h0 : x = 5`
- `h1 : y = 2`
- **Proof Tactics**:
- `by linarith` (linear arithmetic solver)
- `by Real.sqrt_eq_iff_sq_eq` (square root equivalence)
- `simp [h0, h1, sq]` (simplification with hypotheses)
- `rw [Real.sqrt_eq_iff_sq_eq]` (rewrite rule)
### Content Details
1. **Theorem `mathd_algebra_141`**:
- **Variables**: `a, b ∈ ℝ`
- **Equations**:
- `a * b = 180`
- `2 * (a + b) = 54`
- **Proof**: `by linarith`
- **Result**: `a² + b² = 369` (derived via `by` keyword).
2. **Theorem `mathd_algebra_329`**:
- **Variables**: `x, y ∈ ℝ`
- **Equations**:
- `3 * y = x`
- `2 * x + 5 * y = 11`
- **Proof**: `by linarith`
- **Result**: `x + y = 4` (derived via `by` keyword).
3. **Theorem `mathd_algebra_547`**:
- **Variables**: `x, y ∈ ℝ`
- **Equations**:
- `x = 5`
- `y = 2`
- **Proof**:
- `Real.sqrt (x³ - 2ᵧ) = 11`
- Simplified using `simp [h0, h1, sq]`
- Rewritten with `rw [Real.sqrt_eq_iff_sq_eq]`
- **Result**: `norm_num` (normalizes numerical expressions).
### Key Observations
- All theorems use **linear arithmetic** (`linarith`) or **simplification** (`simp`) tactics to prove equations.
- Theorems involve **real-number arithmetic** with explicit variable declarations.
- The final theorem (`mathd_algebra_547`) combines **exponentiation** (`x³`, `2ᵧ`) and **square roots**, requiring rewriting rules for equivalence.
### Interpretation
This code demonstrates formal verification of algebraic identities in Lean. The theorems:
1. Solve systems of linear equations (e.g., `a * b = 180` and `2(a + b) = 54`).
2. Validate relationships between variables (e.g., `x = 3y` and `2x + 5y = 11`).
3. Prove equivalence of expressions involving roots and exponents.
The use of `linarith` and `simp` highlights Lean's automated reasoning capabilities for arithmetic and algebraic proofs. The `norm_num` tactic ensures numerical expressions are simplified to their canonical form, confirming the correctness of derived results.