1 / 17

PRESENTATION

PRESENTATION. UNIVERSITY OF INFORMATION TECHNOLOGY SOFTWARE ENGINEERING FACULTY. Personal Information Introduction. Organization Introduction. Yices tool. Summary Chapter 1 & Chapter 3 DPLL. Software & Hardware. Presented by NGUYEN THI THANH TRUC. Personal information.

livvy
Download Presentation

PRESENTATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRESENTATION UNIVERSITY OF INFORMATION TECHNOLOGYSOFTWARE ENGINEERING FACULTY Personal Information Introduction Organization Introduction Yices tool Summary Chapter 1 & Chapter 3 DPLL Software & Hardware Presented by NGUYEN THI THANH TRUC

  2. Personal information • Name: NGUYEN THI THANH TRUC • Position: Lecturer, Software Engineering Faculty, UIT-HCM (since 2002 – 2006- Now: CITDUIT) • Teaching: ITPM, Web application, Introduction of Software Engineering, Software Maintenance,… • Doing research: Software Development Process, Software Release Planning, project management, • Out-sourcing in US for 2 years, took part some projects of US, Canada, Japan.(1996-2001) • I enhanced my knowledge by attending short courses relating to software development and project management that were funded by AOTS, CICC, AITCV, VNU-HCM.

  3. Organization Introduction • University of Information Technology • A member of the Vietnam National University,HCMC • training high quality IT human resources, contributing actively to the development of IT as well as promoting scientific research and technology transfer • include 5 faculties: Software Engineering, Computer Sciences, Information System, Computer Technique and Networking & Telecommunication faculty. • Include elearning center, UITsoft center, network technology center, CITD. • cooperated Keyware Solution Company,Japan.

  4. Introduction Yices • Yices is a high-performance SMT solver. Yices decides the satisfiability of propositional formulas that mix uninterpreted function symbols and equality with interpreted symbols from the following theories: • linear real and integer arithmetic • extensional arrays • fixed-size bit-vectors • recursive datatypes, tuples, and records • lambda expressions • quantifiers

  5. Yices • Yices also does MaxSMT (given an unsatisfiable set of weighted clauses, find the satisfiable subset of maximum weight); dually, it can find the unsat core (the set of unsatisfiable clauses of minimum weight). • Using Yices • Running Yices from the Command Line • Input Language

  6. Running Yices from the Command Line • yices input.ys • To use yices interactively, give the option –i: • yices -i • The option -v num sets the amount of progress messages : yices -v 2 input.ys • Statistics can be obtained using the option -st.: • yices -v 2 -st input.ys • The option -e can be used to force yices to diplay models and unsatisfiable cores: • yices -v 1 -e input.ys

  7. Using Yices • Type Checker: yices -v 1 -tc input.ys • Limit on Recursive Function Expansion: • (define fact::(-> nat nat) (lambda (x::nat) (if (= 0 x) 1 (* x (fact (- x 1)))))) • To prevent infinite loops: yices -nr 40 • DIMACS • Yices can be used also as a regular SAT solver • yices -v 2 -d -e bw_large.c.cnf • Yices also supports the MaxWalkSAT wcnf format. • yices -v 2 -d -ms -e test.wcnf • SMT-LIB format • Yices also supports the SMT-LIB format. • yices -smt < file.smt

  8. Yices Input Language • Declarations • Types • Expressions • Commands Read : http://yices.csl.sri.com/language.shtml more detail

  9. Declaration in yices file • Declarations • Basic types : int, real, nat, bool (define x:: int) • Type definitions : (define-type [name] [type]) • Constant declarations : (define [name]::[type]) • Constant definitions: (define [name]::[type] [expr]) • Example: • ;; This is a comment in yices • (define-type [name]) • (define-type [name] [type]) • (define-type msg-type (scalar ping data ack))

  10. Types in Yices • Types • Basic types : real, int, nat, and bool • Subtypes : (subtype ([id]::[type]) [expr]) • Function types : (-> [domain_1] ... [domain_n] [range]) • Ex: (define f1::(-> int int)) • Tuple types : (tuple [type_1] ... [type_n]) • Ex: (define t1::(tuple int bool int)) • Record types : (record [id_1]::[type_1] ... [id_n]::[type_n]) • (define r1::(record idx::int flag::bool)) • Dependent types • Recursive datatypes • Scalar types : (scalar [name_1] ... [name_n]) • Bit-vector types : (bitvector [size]) • Recursive datatypes : (datatype [constructor_def_1] ... [constructor_def_n])

  11. Expressions in yices file • Expressions • Boolean operators : (and [expr_1] ... [expr_n]) (or [expr_1] ... [expr_n]) (not [expr]) (=> [expr_1] [expr_2]) • Equality and disequality:(= [expr_1] [expr_2]) (/= [expr_1] [expr_2]) • If-then-else : (if [c-expr] [t-expr] [e-epxr]) (ite [c-expr] [t-expr] [e-epxr]) • Let : (let ([binding_1] ... [binding_n]) [expr]) • Quantifiers: (forall ([name_1]::[type_1] ... [name_n]::[type_n]) [expr]) (exists ([name_1]::[type_1] ... [name_n]::[type_n]) [expr]) • Arithmetic ; using <, <=, >, and >= symbols • Functions : (f a_1 ... a_n) • (define f::(-> int (-> int int))) • (update f (pos_1 ... pos_n) new-val) • Lambda expressions: (lambda ([name_1]::[type_1] ... [name_n]::[type_n]) [expr]) • Tuples : (mk-tuple [expr_1] ... [expr_n]) (select t i) • Records : (mk-record [name_1]::[expr_1] ... [name_n]::[expr_n]) • Bit-vectors : (mk-bv [size] [value])

  12. Commands in yices file • Commands • Assert: (assert [expr]) • Extended Assert :(assert+ [expr] [weight]) • Retract : (retract [idx]) • Check • MaxSat • Evidence flag: (set-evidence! true) • Verbosity level • Arithmetic only: (set-arith-only! true) • Recursion limit • Push • Pop • Echo : (echo [string]) • Include : (include [file]) • Reset • Status • Dump context

  13. Reading Chapter 1 • Propositional logic (PL). It covers: • Its syntax. constructs a PL formula. Propositional variables,atoms, literals, logical connectives. • Its semantics. Truth values true and false. Interpretations. Truth-table definition, inductive definition. • Satisfiability and validity. • Equivalence and implication. • Substitution • Normal forms. • Decision procedures for satisfiability. Truth-table method, sat, resolution procedure, dpll. Transformation to equisatisfiable CNF formula.

  14. Chapter 3: First-Order Theories • Table 3.1

  15. Chapter 3 • Table 3.2

  16. Summary Chapter 3 • ⋆Survey of Decidability and Complexity • Table 3.1 summarizes the decidability results for the first-order theories. • Table 3.2 summarizes the complexity results for satisfiability in PL and the decidable first-order theories • Table 3.3 summarizes the complexity results for the quantifier-free fragments. • First-order theories. Formalizations of structures and operations into first-order logic: signatures, axioms. Fragments of theories, in particular quantifier-free fragments. Interpretations, satisfiability, validity.

  17. discussion Hardware & software • Consider hardware & platform: Sony, Dell, or … • software for development environment

More Related