François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Completeness and Expressiveness
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
François FagesLyon, Dec. 7th 2006 Biologie du système de signalisation cellulaire induit par la FSH ASC 2006, projet AgroBi INRIA Rocquencourt Thème “Systèmes.
François Fages WCB Nantes 2006 On Using Temporal Logic with Constraints to express Biological Properties of Cell Processes François Fages, Constraint Programming.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
François Fages MPRI Bio-info 2007 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
50.530: Software Engineering Sun Jun SUTD. Week 10: Invariant Generation.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Locations, Transport and Signaling François Fages, Constraint Programming Group, INRIA Rocquencourt.
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
François Fages MPRI Bio-info 2007 Formal Biology of the Cell Inferring Reaction Rules from Temporal Properties François Fages, Constraint Programming Group,
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Locations, Transport and Signaling François Fages, Constraint Programming Group, INRIA Rocquencourt.
François Fages Rocquencourt, Sep Semantical and Algorithmic Aspects of the Living François Fages Constraint Programming project-team, INRIA Paris-Rocquencourt.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: Property checking Property checking.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
François Fages New Delhi, Dec Formal Verification and Inference of Biochemical Models François Fages Constraint Programming project-team, INRIA.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Logic in general Logics are formal languages for representing information such that conclusions can be drawn Syntax defines the sentences in the language.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Witness and Counterexample Li Tan Oct. 15, 2002.
Methods of Proof Chapter 7, second half.
Review of the automata-theoretic approach to model-checking.
Witness and Counterexample Li Tan Oct. 15, 2002.
1 3rd of July 2009 CEA LIST Symbolic execution based model checking of open systems with unbounded variables Nicolas RAPIN CEA LIST.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Propositional Logic: Methods of Proof (Part II) This lecture topic: Propositional Logic (two lectures) Chapter (previous lecture, Part I) Chapter.
An Introduction to Artificial Intelligence – CE Chapter 7- Logical Agents Ramin Halavati
CS 267: Automated Verification Lecture 3: Fixpoints and Temporal Properties Instructor: Tevfik Bultan.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
François Fages Rennes March 2005 The Biochemical Abstract Machine BIOCHAM-2 François Fages, Contraintes project-team, Theme: symbolic systems, INRIA Rocquencourt.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Inference in Propositional Logic (and Intro to SAT) CSE 473.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Logical Agents. Inference : Example 1 How many variables? 3 variables A,B,C How many models? 2 3 = 8 models.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Inference in Propositional Logic (and Intro to SAT)
Computer Science cpsc322, Lecture 20
Propositional Calculus: Boolean Algebra and Simplification
A Brief Summary for Exam 1
Computer Security: Art and Science, 2nd Edition
Automated Reasoning in Propositional Logic
Computer Science cpsc322, Lecture 20
Methods of Proof Chapter 7, second half.
Propositional Logic: Methods of Proof (Part II)
Presentation transcript:

François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming Group, INRIA Rocquencourt

François Fages MPRI Bio-info 2005 Overview of the Lectures 1.Introduction. Formal molecules and reactions in BIOCHAM. 2.Formal biological properties in temporal logic. Symbolic model-checking. 3.Continuous dynamics. Kinetics models. 4.Computational models of the cell cycle control [L. Calzone]. 5.Mixed models of the cell cycle and the circadian cycle [L. Calzone]. 6.Machine learning reaction rules from temporal properties. 7.Constraint-based model checking. Learning kinetic parameter values. 8.Constraint Logic Programming approach to protein structure prediction.

François Fages MPRI Bio-info 2005 A Logical Paradigm for Systems Biology Biological property = Temporal Logic Formula Biological validation = Model-checking Initial state : experimental conditions, wild-life/mutated organisms,… reachable(P)==EF(P) checkpoint(s 2,s)==  E(  s 2 U s) stable(s)== AG(s) steady(s)==EG(s) oscil(P)== EG((P  EF  P) ^ (  P  EF P)) Reach threshold concentration : F([M]>0.2) On derivative : F(d([M])>0.2) Reach and stays above threshold : FG([M]>0.2) oscil(P,n)==F(d([M])/dt>0 & F(d([M])/dt<0 & … )) n times

François Fages MPRI Bio-info 2005 Kripke Semantics of CTL A Kripke structure K is a triple (S,R) where S is a set of states, and R  SxS is a total relation. s |=  if propositional formula  is true in s, s |= E  if there is a path  from s such that  |= , s |= A  if for every path  from s,  |= ,  |=  if s |=  where s is the starting state of ,  |= X  if  1 |= ,  |= F  if there exists k ≥ 0 such that  k |= ,  |= G  if for every k ≥ 0,  k |= ,  |=  U  iff there exists k>0 such that  k |=  for all j < k  j |=  Following [Emerson 90] we identify a formula  to the set of states which satisfy it  ~ {s  S : s |=  }.

François Fages MPRI Bio-info 2005 CTL Equivalence of Boolean Models For a class C of CTL formulae, given two Kripke structures K=(S,R), K’=(S,R’) and an initial state s K ~ C K’ iff {  C : K,s|=  } = {  C : K’,s|=  } Which model transformations preserve a class of CTL properties?  Model refinement or simplification preserving a CTL specification Which model transformations can make a CTL property true?  Learning of rules to add or to delete to satisfy a CTL specification Which CTL properties are satisfied by a Biocham model? genCTL(pattern)

François Fages MPRI Bio-info 2005 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 ={A+B D, D=>A+C} or M 2 ={B =[A]=> C} D having no other occurrence in M 1. Let  and ψ be two propositional formulae. Proposition If M 2 |= EF(  ) then M 1 |= EF(  ).Moreover, if A and B do not appear negatively (i.e. under an odd number of negations) in  and D does not appear at all in , then M 1 |= EF(  ) implies M 2 |= EF(  ). Proposition If A and B do not appear negatively in ψ and D does not appear in ψ,then M 2 |= ¬ E( ¬  U ψ) implies M 1 |= ¬ E( ¬  U ψ). If A and B do not appear negatively in  and D does not appear in ,then M 1 |= ¬ E( ¬  U ψ) implies M 2 |= ¬ E( ¬  U ψ).

François Fages MPRI Bio-info 2005 Positive and Negative CTL Formulae Let K = (S,R,L) and K’ = (S,R’,L) be two Kripke structures such that R  R’. Def. An ECTL (positive) formula is a CTL formula with no occurrence of A (nor negative occurrence of E). Def. An ACTL (negative) formula is a CTL formula with no occurrence of E (nor negative occurrence of A). Proposition For any ECTL formula , if K’ |≠  then K |≠ . Since R  R’ all paths in K are also paths in K’, hence for a positive formula , if K |=  then K’ |= , which shows the proposition. Proposition For any ACTL formula , if K |≠  then K’ |≠ . By duality ¬  is a positive formula, hence if K |= ¬  then K’ |= ¬ 

François Fages MPRI Bio-info 2005 Example of Qu’s Model of Cell Cycle _=>Cyclin. Cyclin=>_. Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}. Cdc2~{p1}-Cyclin~{p1}=>Cdc2-Cyclin~{p1}. Cdc2~{p1}-Cyclin~{p1}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}. Cdc2-Cyclin~{p1}=>Cdc2~{p1}-Cyclin~{p1}. Cdc2-Cyclin~{p1}=>Cdc2+Cyclin~{p1}. Cyclin~{p1}=>_. Cdc2=>Cdc2~{p1}. Cdc2~{p1}=>Cdc2. present(Cdc2,1). make_absent_not_present.

François Fages MPRI Bio-info 2005 Aut. Generation of a CTL Specification in Qu’s Model Enumerate all CTL formulae (of some pattern) that are true in a model. ? genCTL(elementary_properties). Ai(oscil(C25)), Ei(reachable(C25~{p1})), Ei(reachable(!(C25~{p1}))), Ai(oscil(C25~{p1})), Ei(reachable(Wee1)), Ei(reachable(!(Wee1))), Ai(oscil(Wee1)), Ei(reachable(Wee1~{p1})),Ei(reachable(!(Wee1~{p1}))), Ai(oscil(Wee1~{p1})), Ai(AG(!(Wee1~{p1})->checkpoint(Wee1,Wee1~{p1}))), Ei(reachable(CKI)), Ei(reachable(!(CKI))), Ai(oscil(CKI)), Ei(reachable(CKI-CycB-CDK~{p1})),Ei(reachable(!(CKI-CycB-CDK~{p1}))), Ai(oscil(CKI-CycB-CDK~{p1})), Ei(reachable((CKI-CycB-CDK~{p1})~{p2})), Ei(reachable(!((CKI-CycB- CDK~{p1})~{p2}))), Ai(oscil((CKI-CycB-CDK~{p1})~{p2})), Ai(AG(!((CKI-CycB-CDK~{p1})~{p2}) ->checkpoint(CKI-CycB-CDK~{p1},CKI-CycB-CDK~{p1})~{p2}))}).

François Fages MPRI Bio-info 2005 Generation of Rule Additions for a CTL Specification Enumerate all rules (of some pattern) that satisfy a CTL specification ? delete_rule(Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}). ? learn_one_addition(elementary_interaction_rules). (1) Cyclin+Cdc2~{p1}=[Cdc2]=>Cdc2~{p1}-Cyclin~{p1} (2) Cyclin+Cdc2~{p1}=[Cyclin]=>Cdc2~{p1}-Cyclin~{p1} (3) Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1} (4) Cyclin+Cdc2~{p1}=[Cdc2~{p1}]=>Cdc2~{p1}-Cyclin~{p1} Similarly enumerate all rule deletions that satisfy or preserve a CTL spec. ? learn_one_deletion(reaction_pattern, spec_CTL) ? reduce_model(spec_CTL)

François Fages MPRI Bio-info 2005 Learning Model Revision from Temporal Properties Theory T: BIOCHAM model molecule declarations interaction rules: complexation, phosphorylation, … Examples φ: CTL specification of biological properties Reachability Checkpoints Stable states Oscillations Bias R: Rule pattern Kind of rules to add or delete Find a revision T’ of T such that T’ |= φ

François Fages MPRI Bio-info 2005 Theory Revision Algorithm General idea of constraint programming: replace a generate-and-test algorithm by a constrain-and-generate algorithm. Anticipate whether one has to add or remove a rule? Positive ECTL formula: if false, remains false after removing a rule EF(φ) where φ is a boolean formula (pure state description) Negative ACTL formula: if false, remains false after adding a rule AG(φ) where φ is a boolean formula, Checkpoint(a,b): ¬E(¬aUb) Remove a rule on the path given by the model checker ( why command) Unclassified CTL formulae Loop(a)= AG((a  EF  a)^(  a  EFa))

François Fages MPRI Bio-info 2005 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f

François Fages MPRI Bio-info 2005 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f U transition:  if R |= u U’ transition:  if R|≠u and  f  {u}  E  U  A, R  {r} |= f U” transition:  if K, si|≠u and  f  {u}  E  U  A, R |= f

François Fages MPRI Bio-info 2005 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f U transition:  if R |= u U’ transition:  if R|≠u and  f  {u}  E  U  A, R  {r} |= f U” transition:  if K, si|≠u and  f  {u}  E  U  A, R |= f A transition:  if R |= a A’ transition:  if R|≠ a,  f  {u} [ E  U  A, R |= f and Ep  Up is the set of formulae no longer satisfied after the deletion of the rules in Re.

François Fages MPRI Bio-info 2005 Termination and Correctness Proposition The model revision algorithm terminates. If the terminal configuration is of the form then the model R satisfies the initial CTL specification. Proof The termination of the algorithm is proved by considering the lexicographic ordering over the couple where a is the number of unsatisfied ACTL formulae, and n is the number of unsatisfied ECTL and UCTL formulae. Each transition strictly decreases either a, or lets a unchanged and strictly decreases n. The correction of the algorithm comes from the fact that each transition maintains only true formulae in the satisfied set, and preserves the complete CTL specification in the union of the satisfied set and the untreated set.

François Fages MPRI Bio-info 2005 Incompleteness Two reasons: 1)The satisfaction of ECTL and UCTL formula is searched by adding only one rule to the model (transition E’ and U’) 2)The Kripke structure associated to a Biocham set of rules adds loops on terminal states. Hence adding or removing a rule may have an opposite deletion or addition of the loops. Just a heuristic algorithm…

François Fages MPRI Bio-info 2005 Example in Qu’s Model of Cell Cycle biocham:add_spec(Ai(AG((CycB-CDK~{p1})) ->checkpoint(C25~{p1,p2},CycB-CDK~{p1})))). biocham: revise_model. Success Time: s 40 properties treated Modifications found: Deletion(s): k5*[CycB-CDK~{p1,p2}] for CycB-CDK~{p1,p2}=>CycB-CDK~{p1}. k15*[CKI-CycB-CDK~{p1}] for CKI-CycB-CDK~{p1}=>CKI+CycB- CDK~{p1}. Addition(s):

François Fages MPRI Bio-info 2005 Example of Model Refinement ? Add_spec({ Ei(reachable(CycE)), Ei(reachable(CycE-CDKp)), Ei(reachable(CycE-CDKp~{p1})), Ei(reachable(CKI-CycE-CDKp)), Ei(reachable(!(CKI-CycE-CDKp))), Ai(oscil(CycE-CDKp)), Ai(oscil(CycE-CDK~{p1})), Ai(loop(CycE-CDKp,(CycE-CDKp)~{p1}))}). ? Revise_model. Deletion(s): Addition(s): CKI+CycE-CDKp=>CKI-CycE-CDKp. CDKp+CycE=>CycE-CDKp. CycE-CDKp=>(CycE-CDK)~{p1}. (CycE-CDKp)~{p1}=>CycE-CDKp. CKI+CycE-CDKp=>CKI-CycE-CDKp.

François Fages MPRI Bio-info 2005 Rule Inference in Cell Cycle Control [Tyson et al. 91] model over 6 variables, initial state present(cdc2). _ => cyclin. cdc2˜{p} + cyclin => cdc2˜{p}-cyclin˜{p}. cdc2˜{p}-cyclin˜{p} =>cdc2-cyclin˜{p}. ERASED cdc2-cyclin˜{p} => cdc2 + cyclin˜{p}. cyclin˜{p} => _. cdc2 cdc2˜{p}.

François Fages MPRI Bio-info 2005 Rule Inference in Cell Cycle Control (cont.) CTL specification of biological properties: Activation of the kinase-cyclin (MPF) complex reachable(cdc2-cyclin˜{p}). Oscillation of the cycle’s phase: loop(cyclin & cyclin˜{p} & !(cdc2-cyclin˜{p})).

François Fages MPRI Bio-info 2005 Rule Inference in Cell Cycle Control (cont.) ? learn([$Q=>$P where $P in complexes and $Q in complexes]). _=>cdc2-cyclin˜{p} cyclin=>cdc2-cyclin˜{p} cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p} ? learn([$qp=>$q where $q in complexes and $qp modif $q]). cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p} Adding temporal specification checkpoint(cdc2˜{p},cdc2-cyclin˜{p}). ? learn([$Q=>$P where $P in complexes and $Q in complexes]). cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p}

François Fages MPRI Bio-info 2005 Model Refinement by Theory Revision Hypothetical model of three proteins MA, MB, MC reachable(MA), reachable(MB), reachable(MC). reachable(¬MA), reachable(¬MB), reachable(¬MC). Oscillations are observed experimentally. loop(MA), loop(MB), loop(MC). Interactions between protein are unknown. Simplest boolean model: _ MA. _ MB. _ MC.

François Fages MPRI Bio-info 2005 Model Refinement by Theory Revision (cont.) MC is needed for the disappearance of MB: checkpoint(MC,!MB). ? checkpoint(MC,!MB). false ? Why. … MB=>_ … ? delete_rules(MB=>_). ? learn(elementary_interaction_pattern). MB+MC=>MB˜{p}+MC. MB+MC=>MC. MB+MC=>MB-MC. ? Add_rule(MB+MC=>MB˜{p}+MC).

François Fages MPRI Bio-info 2005 Model Refinement by Theory Revision (cont.) MA is needed for the disappearance of MC: checkpoint(MA,!MC). ? checkpoint(MA,!MC). False ? Why … MC => _ … ? delete_rule(MC => _ ). ? Learn(elementary_interaction_pattern(MC)). MC+MA=>MA-MC MC+MA=>MC~{p}+MA MC+MA=>MA ? Add_rule(MC+MA=>MC~{p}+MA ).

François Fages MPRI Bio-info 2005 Model Refinement by Theory Revision (cont.) MB is needed for the disappearance of MA: checkpoint(MB,!MA). ? checkpoint(MB,!MA). False ? Why … MA => _ … ? delete_rule(MA => _ ). ? Learn(elementary_interaction_pattern(MA)). MC+MA=>MA-MC MC+MA=>MC~{p}+MA MC+MA=>MA ? Add_rule(MC+MA=>MC~{p}+MA ). _=>MA. MA=[MB]=>_. _=>MB. MB=[MC]=>MB˜{p}. _=>MC. MC=[MA]=>MC˜{p}.