Negative coverage: prove_wc_list / some / premise prove_after(decls, c, assumptions, wcs1) => c
Premise at line 30. Observed failure causes: failed_judgment.
some| Line | Coverage | Source |
|---|---|---|
| 29 | 36 | (prove_wc(decls, env, assumptions, wc0) => c) |
| 30 | 2 | (prove_after(decls, c, assumptions, wcs1) => c) |
| ──────── ("some") | ||
| 32 | 137 | (prove_wc_list(decls, env, assumptions, Cons(wc0, wcs1)) => c) |
2 tests failed proving this premise:
Source location: crates/formality-rust/src/prove/prove/test/occurs_check.rs:48
#[test]
fn indirect_cycle_1() {
test_prove(decls(), term("exists<A, B> {} => {A = Vec<B>, B = A}")).assert_err(expect![[r#"
failed at (proven_set.rs) because
`?ty_0` occurs in `Vec<?ty_0>`
crates/formality-rust/src/prove/prove/prove/prove_normalize.rs:19:1: no applicable rules for prove_normalize { p: ?ty_0, assumptions: {}, env: Env { variables: [?ty_0], bias: Soundness, pending: [], allow_pending_outlives: false } }
crates/formality-rust/src/prove/prove/prove/prove_normalize.rs:19:1: no applicable rules for prove_normalize { p: Vec<?ty_0>, assumptions: {}, env: Env { variables: [?ty_0], bias: Soundness, pending: [], allow_pending_outlives: false } }"#]]);
}
Failed proof tree
prove failedtest_util.rs:60ruletest_util.rs:60prove_wc_list failedprove_wc_list.rs:11rule "some"prove_wc_list.rs:30prove_after failedprove_after.rs:8rule "prove_after"prove_after.rs:19prove failedprove_after.rs:19ruleprove_after.rs:19prove_wc_list failedprove_wc_list.rs:11rule "some"prove_wc_list.rs:29prove_wc failedprove_wc.rs:23rule "eq"prove_wc.rs:127prove_eq failedprove_eq.rs:25rule "existential"prove_eq.rs:64prove_existential_var_eq failedprove_eq.rs:78rule "existential-nonvar"prove_eq.rs:97equate_variable failedprove_eq.rs:97ruleproven_set.rs:57 (failed: inapplicable)
rule "normalize-l"prove_eq.rs:70prove_normalize failedprove_normalize.rs:19
rule "symmetric"prove_eq.rs:40prove_eq failedprove_eq.rs:25rule "normalize-l"prove_eq.rs:70prove_normalize failedprove_normalize.rs:19
Source location: crates/formality-rust/src/prove/prove/test/occurs_check.rs:60
#[test]
fn indirect_cycle_2() {
test_prove(decls(), term("exists<A, B> {} => {B = A, A = Vec<B>}")).assert_err(expect![[r#"
failed at (proven_set.rs) because
`?ty_0` occurs in `Vec<?ty_0>`
crates/formality-rust/src/prove/prove/prove/prove_normalize.rs:19:1: no applicable rules for prove_normalize { p: ?ty_0, assumptions: {}, env: Env { variables: [?ty_0], bias: Soundness, pending: [], allow_pending_outlives: false } }
crates/formality-rust/src/prove/prove/prove/prove_normalize.rs:19:1: no applicable rules for prove_normalize { p: Vec<?ty_0>, assumptions: {}, env: Env { variables: [?ty_0], bias: Soundness, pending: [], allow_pending_outlives: false } }"#]]);
}
Failed proof tree
prove failedtest_util.rs:60ruletest_util.rs:60prove_wc_list failedprove_wc_list.rs:11rule "some"prove_wc_list.rs:30prove_after failedprove_after.rs:8rule "prove_after"prove_after.rs:19prove failedprove_after.rs:19ruleprove_after.rs:19prove_wc_list failedprove_wc_list.rs:11rule "some"prove_wc_list.rs:29prove_wc failedprove_wc.rs:23rule "eq"prove_wc.rs:127prove_eq failedprove_eq.rs:25rule "existential"prove_eq.rs:64prove_existential_var_eq failedprove_eq.rs:78rule "existential-nonvar"prove_eq.rs:97equate_variable failedprove_eq.rs:97ruleproven_set.rs:57 (failed: inapplicable)
rule "normalize-l"prove_eq.rs:70prove_normalize failedprove_normalize.rs:19
rule "symmetric"prove_eq.rs:40prove_eq failedprove_eq.rs:25rule "normalize-l"prove_eq.rs:70prove_normalize failedprove_normalize.rs:19