Signature:
prove_eq(_decls: Program, env: Env, assumptions: Wcs, a: Parameter, b: Parameter,) => Constraints
The number on each rule’s conclusion is positive coverage; the number on each premise is negative coverage. Click a number to browse the tests.
symmetric
| Line | Coverage | Source |
| 40 | 14 | (prove_eq(decls, env, assumptions, r, l) => env_c) |
| | ──────── ("symmetric") |
| 42 | 121 | (prove_eq(decls, env, assumptions, l, r) => env_c) |
rigid
| Line | Coverage | Source |
| 46 | N/A | (let RigidTy { name: a_name, parameters: a_parameters } = a) |
| 47 | N/A | (let RigidTy { name: b_name, parameters: b_parameters } = b) |
| 48 | ✗ | (if a_name == b_name) |
| 49 | 1 | (prove(decls, env, assumptions, Wcs::all_eq(a_parameters, b_parameters)) => c) |
| | ──────── ("rigid") |
| 51 | 102 | (prove_eq(decls, env, assumptions, TyData::RigidTy(a), TyData::RigidTy(b)) => c) |
alias
| Line | Coverage | Source |
| 55 | N/A | (let AliasTy { name: a_name, parameters: a_parameters } = a) |
| 56 | N/A | (let AliasTy { name: b_name, parameters: b_parameters } = b) |
| 57 | ✗ | (if a_name == b_name) |
| 58 | 1 | (prove(decls, env, assumptions, Wcs::all_eq(a_parameters, b_parameters)) => env_c) |
| | ──────── ("alias") |
| 60 | 1 | (prove_eq(decls, env, assumptions, TyData::AliasTy(a), TyData::AliasTy(b)) => env_c) |
existential
| Line | Coverage | Source |
| 64 | 5 | (prove_existential_var_eq(decls, env, assumptions, v, r) => c) |
| | ──────── ("existential") |
| 66 | 124 | (prove_eq(decls, env, assumptions, Variable::ExistentialVar(v), r) => c) |
normalize-l
| Line | Coverage | Source |
| 70 | 14 | (prove_normalize(decls, env, assumptions, x) => Constrained(y, c)) |
| 71 | 3 | (prove_after(decls, c, assumptions, eq(y, z)) => c) |
| | ──────── ("normalize-l") |
| 73 | 18 | (prove_eq(decls, env, assumptions, x, z) => c) |