logic semantic technologies for computer science education
play

LOGIC & SEMANTIC TECHNOLOGIES FOR COMPUTER SCIENCE EDUCATION - PowerPoint PPT Presentation

LOGIC & SEMANTIC TECHNOLOGIES FOR COMPUTER SCIENCE EDUCATION Wolfgang Schreiner Research Institute for Symbolic Computation (RISC), JKU Linz, Austria Joint work with V. Novitzk, W. Steingartner (TU Kosice) and A. Biere, D. Cerna, M.


  1. LOGIC & SEMANTIC TECHNOLOGIES FOR COMPUTER SCIENCE EDUCATION Wolfgang Schreiner Research Institute for Symbolic Computation (RISC), JKU Linz, Austria Joint work with V. Novitzká, W. Steingartner (TU Kosice) and A. Biere, D. Cerna, M. Seidl, W. Windsteiger (JKU Linz)

  2. Logic and Semantics in Education Typically still presented as “paper and pencil” topics. 1/17

  3. Logic and Semantics in Education But today the educational process can be substantially supported by software . 2/17

  4. Projects LOGTECHEDU and SemTech � LOGTECHEDU: Logic Technologies for Computer Science Education. � JKU LIT (Linz Institute of Technology), 2018–2020. � Institutes FMV (Biere, Cerna, Seidl) and RISC (Schreiner, Windsteiger). � ❤tt♣✿✴✴❢♠✈✳❥❦✉✳❛t✴❧♦❣t❡❝❤❡❞✉ � SemTech: Semantic Technologies for Computer Science Education. � Austrian OEAD WTZ and Slovak SRDA, 2018–2019. � JKU Linz (Schreiner) and TU Kosice (Novitzká, Steingartner). � ❤tt♣s✿✴✴✇✇✇✳r✐s❝✳❥❦✉✳❛t✴♣r♦❥❡❝ts✴❙❡♠❚❡❝❤ Investigate the potential of logic&semantics-based software for education. 3/17

  5. Educating with the Help of Logic&Semantics � Today much of logic&semantics can be automated by computer software. � Substantial advances in computational logic (automated reasoning, model checking, satisfiability solving). � By the application of such software education may be supported. � May demonstrate the practical usefulness of logic&semantics. � May increase the motivation of students to model and to reason. � The ultimate goal is logic&semantics-based self-directed learning. � Teachers become “enablers” by providing basic knowledge and skills. � Students “educate themselves” by solving problems. • (Voluntary) quizzes, (mandatory) assignments, possibly (graded) exams. Core idea: let students actively engage with lecturing material by solving concrete problems and by receiving immediate feedback from the software. 4/17

  6. Research Strands � Solver Guided Exercises (Limboole, Boolector) � Teaching Solver Technology (Limboole, Boolector) � Proof Assistants for Education (Theorema, AXolotl) � Specification and Verification Systems for Education (RISCAL) � Formal Semantics of Programming Languages ( J ane ) � Logic across the Subjects in Primary, Secondary and Higher Education Various aspects of the general idea. 5/17

  7. The RISC Algorithm Language (RISCAL) A language and software system for investigating finite mathematical models (i.e., a “mathematical model checker”). � Formulation of mathematical theories and theorems. � Formulation and specification of (also non-deterministic) algorithms. � Rooted in strongly typed first order logic and set theory. � All types are finite (with sizes determined by model parameters). � All formulas are automatically decidable (by evaluating their semantics). � Correctness of all algorithms is decidable (by evaluating their semantics). � Automatic generation of (again decidable) verification conditions. Checking in some model of fixed size before proving in models of arbitrary size. 6/17

  8. The RISCAL Software ❤tt♣s✿✴✴✇✇✇✳r✐s❝✳❥❦✉✳❛t✴r❡s❡❛r❝❤✴❢♦r♠❛❧✴s♦❢t✇❛r❡✴❘■❙❈❆▲ 7/17

  9. RISCAL Theories and Theorems ✈❛❧ ◆✿ N ❀ t②♣❡ ▲✐t❡r❛❧ ❂ Z ❬✲◆✱◆❪❀ t②♣❡ ❈❧❛✉s❡ ❂ ❙❡t❬▲✐t❡r❛❧❪❀ t②♣❡ ❋♦r♠✉❧❛ ❂ ❙❡t❬❈❧❛✉s❡❪❀ t②♣❡ ❱❛❧✉❛t✐♦♥ ❂ ❙❡t❬▲✐t❡r❛❧❪❀ ♣r❡❞ s❛t✐s❢✐❡s✭✈✿❱❛❧✉❛t✐♦♥✱ ❧✿▲✐t❡r❛❧✮ ⇔ ❧ ∈ ✈❀ ♣r❡❞ s❛t✐s❢✐❡s✭✈✿❱❛❧✉❛t✐♦♥✱ ❝✿❈❧❛✉s❡✮ ⇔ ∃ ❧ ∈ ❝✳ s❛t✐s❢✐❡s✭✈✱ ❧✮❀ ♣r❡❞ s❛t✐s❢✐❡s✭✈✿❱❛❧✉❛t✐♦♥✱ ❢✿❋♦r♠✉❧❛✮ ⇔ ∀ ❝ ∈ ❢✳ s❛t✐s❢✐❡s✭✈✱❝✮❀ ♣r❡❞ s❛t✐s❢✐❛❜❧❡✭❢✿❋♦r♠✉❧❛✮ ⇔ ∃ ✈✿❱❛❧✉❛t✐♦♥✳ s❛t✐s❢✐❡s✭✈✱❢✮❀ ♣r❡❞ ✈❛❧✐❞✭❢✿❋♦r♠✉❧❛✮ ⇔ ∀ ✈✿❱❛❧✉❛t✐♦♥✳ s❛t✐s❢✐❡s✭✈✱❢✮❀ ❢✉♥ ♥♦t✭❢✿ ❋♦r♠✉❧❛✮✿❋♦r♠✉❧❛ ❂ ④ ❝ ⑤ ❝✿❈❧❛✉s❡ ✇✐t❤ ∀ ❞ ∈ ❢✳ ∃ ❧ ∈ ❞✳ ✲❧ ∈ ❝ ⑥❀ ✳✳✳ t❤❡♦r❡♠ ♥♦t❱❛❧✐❞✭❢✿❋♦r♠✉❧❛✮ r❡q✉✐r❡s ❢♦r♠✉❧❛✭❢✮❀ ⇔ ✈❛❧✐❞✭❢✮ ⇔ ¬ s❛t✐s❢✐❛❜❧❡✭♥♦t✭❢✮✮❀ First-order logic, integers, tuples/records, arrays/maps, sets, algebraic types. 8/17

  10. RISCAL Algorithms ♠✉❧t✐♣❧❡ ♣r❡❞ ❉P▲▲✭❢✿❋♦r♠✉❧❛✮ ♣r♦❝ ❉P▲▲✷✭❢✿❋♦r♠✉❧❛✮✿ ❇♦♦❧ r❡q✉✐r❡s ❢♦r♠✉❧❛✭❢✮❀ r❡q✉✐r❡s ✳✳✳❀ ❡♥s✉r❡s ✳✳✳❀ ❡♥s✉r❡s r❡s✉❧t ⇔ s❛t✐s❢✐❛❜❧❡✭❢✮❀ ④ ❞❡❝r❡❛s❡s ⑤❧✐t❡r❛❧s✭❢✮⑤❀ ✈❛r st❛❝❦✿ ❆rr❛②❬♥✰✶✱❋♦r♠✉❧❛❪ := ⇔ ✐❢ ❢ ❂ ∅ ❬❈❧❛✉s❡❪ t❤❡♥ ❆rr❛②❬♥✰✶✱❋♦r♠✉❧❛❪✭ ∅ ❬❈❧❛✉s❡❪✮❀ ⊤ ✳✳✳ ❡❧s❡ ✐❢ ∅ ❬▲✐t❡r❛❧❪ ∈ ❢ t❤❡♥ ✇❤✐❧❡ ¬ s❛t✐s❢✐❛❜❧❡ ∧ ♥✉♠❜❡r❃✵ ❞♦ ⊥ ✳✳✳ ❡❧s❡ ❝❤♦♦s❡ ❧ ∈ ❧✐t❡r❛❧s✭❢✮ ✐♥ ✐♥✈❛r✐❛♥t s❛t✐s❢✐❛❜❧❡✭❢✮ ⇔ ✳✳✳❀ ❉P▲▲✭s✉❜st✐t✉t❡✭❢✱❧✮✮ ∨ ❞❡❝r❡❛s❡s ✐❢ s❛t✐s❢✐❛❜❧❡ t❤❡♥ ✵ ❡❧s❡ � ❦✿ N ❬♥❪ ✇✐t❤ ❦❁♥✉♠❜❡r✳ s✐③❡✭st❛❝❦❬❦❪✮❀ ❉P▲▲✭s✉❜st✐t✉t❡✭❢✱✲❧✮✮❀ ④ ✳✳✳ ❝❤♦♦s❡ ❧ ∈ ❧✐t❡r❛❧s✭❣✮❀ ✳✳✳ ⑥ r❡t✉r♥ s❛t✐s❢✐❛❜❧❡❀ ⑥ Functions, procedures, recursion, nondeterminism. 9/17

  11. RISCAL Systems ♣r♦❝ s②st❡♠✭s✵✿❙t❛t❡✮✿ ❚✉♣❧❡❬◆❬◆❪✱❆rr❛②❬◆✱❙t❛t❡❪❪ r❡q✉✐r❡s ✐♥✐t✭s✵✮❀ ④ ✈❛r s✿❙t❛t❡ ❂ s✵❀ ✈❛r ✐✿◆❬◆❪ ❂ ✵❀ ✈❛r t✿❆rr❛②❬◆✱❙t❛t❡❪ ❂ ❆rr❛②❬◆✱❆❝t✐♦♥❪✭s✮❀ ✇❤✐❧❡ ¬ ❣♦❛❧✭s✮ ∧ ✐ ❁ ◆ ❞♦ ④ ❝❤♦♦s❡ s✶✿❙t❛t❡ ✇✐t❤ ♥❡①t✭s✱s✶✮❀ s ❂ s✶❀ ✐ ❂ ✐✰✶❀ t❬✐❪ ❂ s❀ ⑥ r❡t✉r♥ ❤✐✱t✐❀ ⑥ Modeling and analysis of nondeterministic transition systems described by their initial state condition and next state relation. 10/17

  12. RISCAL Checking ❯s✐♥❣ ◆❂✷✳ ❚②♣❡ ❝❤❡❝❦✐♥❣ ❛♥❞ tr❛♥s❧❛t✐♦♥ ❝♦♠♣❧❡t❡❞✳ ✳✳✳ ❊①❡❝✉t✐♥❣ ♥♦t❱❛❧✐❞✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✶✶✶ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✶✷✶✾ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲✷✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ✹✸✺ ✐♥♣✉ts ✭✹✸✺ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✱ ✵ ✐❣♥♦r❡❞✮✳✳✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✷✹✸✻ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲❴❖✉t♣✉t❈♦rr❡❝t✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✻✵✾ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ Automatic checking of theorems, algorithms, generated verification conditions. 11/17

  13. RISCAL Visualization Pruned evaluation trees to explain the truth value of a formula. 12/17

  14. RISCAL Web Exercises certificate okay? submitter, points webex.verify Web Browser Execution Server result,log,certificate webex.wsgi RISCAL exercise.html input,uid uid.abort uid.log uid webex.abort uid webex.monitor log certificates webex.certify certificate data.txt Web Server exercise.html exercise.txt webex.template webex Framework for web-based exercises checked by a RISCAL server. 13/17

  15. AXolotl Author: David Cerna; Google Play Store (search for “AXolotl Logic Software”) � � � Proving on a smartphone by a purely touch-based interface (no keyboard input). 14/17

Recommend


More recommend