proof

unique minimum spanning tree sufficient and necessary conditions

喜你入骨 提交于 2021-01-29 03:21:54
问题 Given a graph G,which are the sufficient and necessary conditions , so that this graph has a unique minimum spanning tree?In addition , how can I proove these conditions? So far , I had found that those conditions are : 1)For every partition of V(G) into two subsets, the minimum weight edge with one endpoint in each subset is unique. 2)The maximum-weight edge in any cycle of G is unique. But I am not sure if this is correct.Even in case this is correct,I cannot prove its correctness. 回答1:

Idris: proof about concatenation of vectors

对着背影说爱祢 提交于 2021-01-28 05:05:47
问题 Assume I have the following idris source code: module Source import Data.Vect --in order to avoid compiler confusion between Prelude.List.(++), Prelude.String.(++) and Data.Vect.(++) infixl 0 +++ (+++) : Vect n a -> Vect m a -> Vect (n+m) a v +++ w = v ++ w --NB: further down in the question I'll assume this definition isn't needed because the compiler -- will have enough context to disambiguate between these and figure out that Data.Vect.(++) -- is the "correct" one to use. lemma : reverse

Idris: proof about concatenation of vectors

感情迁移 提交于 2021-01-28 04:37:19
问题 Assume I have the following idris source code: module Source import Data.Vect --in order to avoid compiler confusion between Prelude.List.(++), Prelude.String.(++) and Data.Vect.(++) infixl 0 +++ (+++) : Vect n a -> Vect m a -> Vect (n+m) a v +++ w = v ++ w --NB: further down in the question I'll assume this definition isn't needed because the compiler -- will have enough context to disambiguate between these and figure out that Data.Vect.(++) -- is the "correct" one to use. lemma : reverse

coq tactic for replacing bools with Prop

空扰寡人 提交于 2021-01-28 01:09:37
问题 Is there a proof tactic in coq which takes all the boolean operations in an expression (andb, orb, implb, etc) and replaces them with Propositional connectives (and, or, impl) and encapsulates the boolean variables x in Is_true(x) ? If not, how can I write one? 回答1: You could use a rewrite database, for instance: Require Import Setoid. Require Import Bool. Lemma andb_prop_iff x y: Is_true (x && y) <-> Is_true x /\ Is_true y. Proof. split; [apply andb_prop_elim | apply andb_prop_intro]. Qed.

Core of Verifier in Isabelle/HOL

笑着哭i 提交于 2020-12-29 04:19:26
问题 Question What is the core algorithm of the Isabelle/HOL verifier? I'm looking for something on the level of a scheme metacircular evaluator. Clarification I'm only interested in the Verifier , not the strategies for automated theorem proving. Context I want to implement a simple proof verifier from scratch (purely for education reasons, not for production use.) I want to understand the core Verifier algorithm of Isabelle/HOL. I don't care about the strategies / code used for automated theorem

Core of Verifier in Isabelle/HOL

与世无争的帅哥 提交于 2020-12-29 04:16:37
问题 Question What is the core algorithm of the Isabelle/HOL verifier? I'm looking for something on the level of a scheme metacircular evaluator. Clarification I'm only interested in the Verifier , not the strategies for automated theorem proving. Context I want to implement a simple proof verifier from scratch (purely for education reasons, not for production use.) I want to understand the core Verifier algorithm of Isabelle/HOL. I don't care about the strategies / code used for automated theorem

Core of Verifier in Isabelle/HOL

爷,独闯天下 提交于 2020-12-29 04:12:25
问题 Question What is the core algorithm of the Isabelle/HOL verifier? I'm looking for something on the level of a scheme metacircular evaluator. Clarification I'm only interested in the Verifier , not the strategies for automated theorem proving. Context I want to implement a simple proof verifier from scratch (purely for education reasons, not for production use.) I want to understand the core Verifier algorithm of Isabelle/HOL. I don't care about the strategies / code used for automated theorem

How to solve goals with invalid type equalities in Coq?

时光怂恿深爱的人放手 提交于 2020-06-14 05:04:30
问题 My proof scripts are giving me stupid type equalities like nat = bool or nat = list unit which I need to use to solve contradictory goals. In normal math, this would be trivial. Given sets bool := { true, false } and nat := { 0, 1, 2, ... } I know that true ∈ bool , but true ∉ nat , hence bool ≠ nat . In Coq, I don't even know how to state that true :̸ nat . Question Is there a way to show that these equalities are false? Or maybe, is it impossible? (Ed.: Removed long list of failed attemts,

How to solve goals with invalid type equalities in Coq?

烂漫一生 提交于 2020-06-14 05:03:11
问题 My proof scripts are giving me stupid type equalities like nat = bool or nat = list unit which I need to use to solve contradictory goals. In normal math, this would be trivial. Given sets bool := { true, false } and nat := { 0, 1, 2, ... } I know that true ∈ bool , but true ∉ nat , hence bool ≠ nat . In Coq, I don't even know how to state that true :̸ nat . Question Is there a way to show that these equalities are false? Or maybe, is it impossible? (Ed.: Removed long list of failed attemts,

Provide example in Coq where (A B: Prop), P: Prop -> Type, such that A <-> B, but one cannot replace P A with P B

痞子三分冷 提交于 2020-04-17 19:15:43
问题 As the title asks, I wish for an example where: Section Question: Definition A: Prop := <whatever you like>. Definition B:Prop := <whatever you like>. Definition/Inductive/Fixpoint P: Prop -> Type := <whatever you like>. Theorem AEquivB: A <-> B. Proof. <supply proof here>. Qed. (* Question 1. can we pick a P, A, B to prove this? *) Theorem PA_not_equals_Pb: P A <> P B. Proof. <supply proof here>. Qed. (* Question 1.5. can we pick a P, A, B to prove this? *) Theorem PA_not_equiv_PB: ~(P A <->