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_syntactically_eq at crates/formality-rust/src/prove/prove/prove/prove_normalize.rs:133

Signature:

prove_syntactically_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
1461(prove_syntactically_eq(decls, env, assumptions, b, a) => c)
──────── ("symmetric")
1481(prove_syntactically_eq(decls, env, assumptions, a, b) => c)
rigid
LineCoverageSource
152N/A(let RigidTy { name: a_name, parameters: a_parameters } = a)
153N/A(let RigidTy { name: b_name, parameters: b_parameters } = b)
154(if a_name == b_name)
155(zip(decls, env, assumptions, a_parameters.clone(), b_parameters.clone(), &prove_syntactically_eq) => c)
──────── ("rigid")
157(prove_syntactically_eq(decls, env, assumptions, TyData::RigidTy(a), TyData::RigidTy(b)) => c)
alias
LineCoverageSource
161N/A(let AliasTy { name: a_name, parameters: a_parameters } = a)
162N/A(let AliasTy { name: b_name, parameters: b_parameters } = b)
163(if a_name == b_name)
1641(zip(decls, env, assumptions, a_parameters.clone(), b_parameters.clone(), &prove_syntactically_eq) => c)
──────── ("alias")
1661(prove_syntactically_eq(decls, env, assumptions, TyData::AliasTy(a), TyData::AliasTy(b)) => c)
existential-nonvar
LineCoverageSource
1701(prove_existential_var_eq(decls, env, assumptions, v, t) => c)
──────── ("existential-nonvar")
1721(prove_syntactically_eq(decls, env, assumptions, Variable::ExistentialVar(v), t) => c)