Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Judgment prove_eq at crates/formality-rust/src/prove/prove_eq.rs:23

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
LineCoverageSource
3815(prove_eq(decls, env, assumptions, r, l) => env_c)
──────── ("symmetric")
40155(prove_eq(decls, env, assumptions, l, r) => env_c)
rigid
LineCoverageSource
44N/A(let RigidTy { name: a_name, parameters: a_parameters } = a)
45N/A(let RigidTy { name: b_name, parameters: b_parameters } = b)
46(if a_name == b_name)
471(prove(decls, env, assumptions, Wcs::all_eq(a_parameters, b_parameters)) => c)
──────── ("rigid")
49136(prove_eq(decls, env, assumptions, TyData::RigidTy(a), TyData::RigidTy(b)) => c)
alias
LineCoverageSource
53N/A(let AliasTy { name: a_name, parameters: a_parameters } = a)
54N/A(let AliasTy { name: b_name, parameters: b_parameters } = b)
55(if a_name == b_name)
561(prove(decls, env, assumptions, Wcs::all_eq(a_parameters, b_parameters)) => env_c)
──────── ("alias")
581(prove_eq(decls, env, assumptions, TyData::AliasTy(a), TyData::AliasTy(b)) => env_c)
existential
LineCoverageSource
625(prove_existential_var_eq(decls, env, assumptions, v, r) => c)
──────── ("existential")
64158(prove_eq(decls, env, assumptions, Variable::ExistentialVar(v), r) => c)
normalize-l
LineCoverageSource
6815(prove_normalize(decls, env, assumptions, x) => Constrained(y, c))
693(prove_after(decls, c, assumptions, eq(y, z)) => c)
──────── ("normalize-l")
7118(prove_eq(decls, env, assumptions, x, z) => c)