Lucas- Interpreter Walther Geometry Construction Languages Neuper guide User-Interaction Calculations Lucas Interpreter by Lucas-Interpretation Requirements GCL–LucIn A case study, work in progress Example Specfication Area method Lucas-Interpreter Check input Walther Neuper Summary Institute for Softwaretechnology Graz University of Technology 3 rd Workshop on Formal and Automated Theorem Proving and Applications February 4-5, 2011 Belgrade, Serbia
Lucas- Interpreter Outline Walther Neuper Calculations 1 Transfer experiences from calculations . . . Lucas Interpreter Lucas-Interpretation in calculations Requirements GCL–LucIn Requirements for tutoring software Example Specfication Area method Geometry construction language (GCL) — Lucas-Interpreter 2 Check input Lucas-Interpreter Summary Example program in Belgrade GCL Specification separated from program Program statements and area method Lucas-interpretation for GCL Checking user-input Summary 3
Lucas- Interpreter Outline Walther Neuper Calculations 1 Transfer experiences from calculations . . . Lucas Interpreter Lucas-Interpretation in calculations Requirements GCL–LucIn Requirements for tutoring software Example Specfication Area method Geometry construction language (GCL) — Lucas-Interpreter 2 Check input Lucas-Interpreter Summary Example program in Belgrade GCL Specification separated from program Program statements and area method Lucas-interpretation for GCL Checking user-input Summary 3
Lucas- Interpreter Lucas-interpretation combines Walther Neuper proving and programming Calculations Lucas Interpreter Requirements GCL–LucIn Example Specfication Area method Lucas-Interpreter Check input i n t e r p r e t e r Summary specification program Proving and Programming
Lucas- Interpreter The IS AC -prototype is Walther Neuper based on Isabelle Calculations Lucas Interpreter Requirements GCL–LucIn Isabelle/Isar Example Specfication logical operating system Area method (contexts etc) Lucas-Interpreter Check input i n t e r p r e t e r Summary specification program Proving and Programming
Lucas- Interpreter Programs usually produce Walther Neuper output Calculations Lucas Interpreter Requirements GCL–LucIn Isabelle/Isar Example Specfication logical operating system Area method (contexts etc) Lucas-Interpreter Check input i n t e r p r e t e r Summary specification program output Production
Lucas- Interpreter Lucas-Interpreter is a debugger Walther Neuper in single-stepping mode Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example t dialog Specfication logical operating system o Area method module (contexts etc) r Lucas-Interpreter Check input i n t e r p r e t e r (P.L) Summary specification program output Tutoring Authoring
Lucas- Interpreter Given a specification and Walther Neuper a program . . . Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example t dialog Specfication logical operating system o Area method module (contexts etc) r Lucas-Interpreter Check input i n t e r p r e t e r (P.L) Summary specification program output In: function q, Script B (q, L, v, Cs) = Length L LET pre: q is_integrable funs = Subproblem ∆ L > 0 (thy, pbl, met) q, L, v equs = Subproblem … out: function y(x) Post: y(0)=0 ∆ y'(0)=0 sols = Subproblem … ∆ V(0)=q.L B = Take (LAST funs) ∆ M_b(L)=0 B = ((Substitute sols)@ (Rewrite_Set poly)) B IN B Authoring
Lucas- Interpreter . . . tutoring starts Walther Neuper with precondition fulfilled Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example Problem (B, bendl) t dialog Specfication logical operating system o Area method module (contexts etc) r Lucas-Interpreter Check input i n t e r p r e t e r (P.L) Summary specification program output In: function q, Script B (q, L, v, Cs) = Length L LET pre: q is_integrable funs = Subproblem ∆ L > 0 (thy, pbl, met) q, L, v equs = Subproblem … out: function y(x) Post: y(0)=0 ∆ y'(0)=0 sols = Subproblem … ∆ V(0)=q.L B = Take (LAST funs) ∆ M_b(L)=0 B = ((Substitute sols)@ (Rewrite_Set poly)) B IN B Tutoring
Lucas- Interpreter Breakpoint 1: user accepts or Walther Neuper updates or inputs Calculations Lucas Interpreter Requirements worksheet GCL–LucIn t Isabelle/Isar u Problem (B, bendl) Example t Problem (B, load2bl) dialog Specfication logical operating system o Q(x) = c-q.x, M(x) = … Area method r (contexts etc) module Lucas-Interpreter i n t e r p r e t e r (P.L) Check input Summary specification program output In: function q, Script B (q, L, v, Cs) = LET Length L funs = Subproblem pre: q is_integrable (thy, pbl, met) q, L, v ∆ L > 0 equs = Subproblem … out: function y(x) sols = Subproblem … Post: y(0)=0 ∆ y'(0)=0 B = Take (LAST funs) ∆ V(0)=q.L B = ((Substitute sols)@ ∆ M_b(L)=0 (Rewrite_Set poly)) B IN B Tutoring
Lucas- Interpreter Breakpoint 2: user accepts or Walther Neuper updates or inputs Calculations Lucas Interpreter Requirements worksheet GCL–LucIn t Isabelle/Isar u Problem (B, bendl) Example t Problem (B, load2bl) dialog Specfication logical operating system o Q(x) = c-q.x, M(x) = … Area method r (contexts etc) module Problem (B, sidecds) Lucas-Interpreter L.q = x, 0 = c_2+L.c... i n t e r p r e t e r (PLI) Check input Summary specification program output In: function q, Script B (q, L, v, Cs) = LET Length L funs = Subproblem pre: q is_integrable (thy, pbl, met) q, L, v ∆ L > 0 equs = Subproblem … out: function y(x) sols = Subproblem … Post: y(0)=0 ∆ y'(0)=0 B = Take (LAST funs) ∆ V(0)=q.L B = ((Substitute sols)@ ∆ M_b(L)=0 (Rewrite_Set poly)) B IN B Tutoring
Lucas- Interpreter Breakpoint 3: user accepts or Walther Neuper updates or inputs Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example Problem (B, bendl) t Problem (B, load2bl) dialog Specfication logical operating system Q(x) = c-q.x, M(x) = … o Area method module (contexts etc) Problem (B, sidecds) r Lucas-Interpreter L.q = x, 0 = c_2+L.c... Check input i n t e r p r e t e r (P.L) solveSys [0=c_3, … c = q.L, c_2 = -L^2.q/2. Summary specification program output In: function q, Script B (q, L, v, Cs) = Length L LET pre: q is_integrable funs = Subproblem ∆ L > 0 (thy, pbl, met) q, L, v equs = Subproblem … out: function y(x) Post: y(0)=0 ∆ y'(0)=0 sols = Subproblem … ∆ V(0)=q.L B = Take (LAST funs) ∆ M_b(L)=0 B = ((Substitute sols)@ (Rewrite_Set poly)) B IN B Tutoring
Lucas- Interpreter Breakpoint 4: user accepts or Walther Neuper updates or inputs Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example Problem (B, bendl) t Problem (B, load2bl) dialog Specfication logical operating system Q(x) = c-q.x, M(x) = … o Area method module (contexts etc) Problem (B, sidecds) r Lucas-Interpreter L.q = x, 0 = c_2+L.c... Check input i n t e r p r e t e r (P.L) solveSys [0=c_3, … c = q.L, c_2 = -L^2.q/2. Summary y(x) = c_4+c_3.x-1/EI... specification program output In: function q, Script B (q, L, v, Cs) = Length L LET pre: q is_integrable funs = Subproblem ∆ L > 0 (thy, pbl, met) q, L, v equs = Subproblem … out: function y(x) Post: y(0)=0 ∆ y'(0)=0 sols = Subproblem … ∆ V(0)=q.L B = Take (LAST funs) ∆ M_b(L)=0 B = ((Substitute sols)@ (Rewrite_Set poly)) B IN B Tutoring
Lucas- Interpreter Breakpoint 5: user accepts or Walther Neuper updates or inputs Calculations Lucas Interpreter Requirements GCL–LucIn worksheet t Isabelle/Isar u Example Problem (B, bendl) t Problem (B, load2bl) dialog Specfication logical operating system Q(x) = c-q.x, M(x) = … o Area method module (contexts etc) Problem (B, sidecds) r Lucas-Interpreter L.q = x, 0 = c_2+L.c... Check input i n t e r p r e t e r (P.L) solveSys [0=c_3, … c = q.L, c_2 = -L^2.q/2. Summary y(x) = c_4+c_3.x-1/EI... y(x) = 0 + 0.x – 1/EI … specification program output In: function q, Script B (q, L, v, Cs) = Length L LET pre: q is_integrable funs = Subproblem ∆ L > 0 (thy, pbl, met) q, L, v equs = Subproblem … out: function y(x) Post: y(0)=0 ∆ y'(0)=0 sols = Subproblem … ∆ V(0)=q.L B = Take (LAST funs) ∆ M_b(L)=0 B = ((Substitute sols)@ (Rewrite_Set poly)) B IN B Tutoring
Recommend
More recommend