多语数学


乔迪·萨卢德斯
加泰罗尼亚政治大学

3d GF暑期课程
弗劳恩内塞尔,2013年8月

演示者备注

介绍

演示者备注

gfsage对话框流

步骤

  • 莱克辛
  • 正在分析
  • 换乘
  • 计算
  • 换乘
  • 线性化
  • 解除链接

演示者备注

它是怎么开始的?

  • 使用webALT项目:webALT徽标

  • 旨在提供多语种的简单数学练习库中等教育。

  • GF所选刀具

演示者备注

数学文法图书馆

  • 一些基本数学对象OpenPath(OpenPath) 内容词典.

    • 小型系统:GF抽象模块的基础
  • 到目前为止有15种语言:马特巴尔

  • 可在svn://molto项目.eu/mgl

演示者备注

结构

mgl垂直结构

演示者备注

该库分为3层,其复杂性不断增加:

  • 接地:对于文字整数和变量
  • OpenPath(OpenPath):用于OpenPath(OpenPath)物体
  • 操作:问题,言语。。。

演示者备注

mgl水平结构

演示者备注

其他上层

  • 操作:简单的训练。

  • 命令:向/来自的查询/回答计算机代数系统.

  • 单词问题:建模和求解简单单词问题.

演示者备注

一些示例

  • OpenPath(OpenPath)级别:

    abs:ValNum->ValNum;--z的绝对值次数:[ValNum]->ValNum;--x,y和z的乘积一元减:ValNum->ValNum;--减去x
  • 命令级别:

    计算:(k:种类)->值k->命令;指定:(k:Kind)->变量k->值k->命令;断言:属性->命令;近似值:ValNum->命令;BeginBlock:字符串->命令;EndBlock:字符串->命令;

目标:自始至终依赖类型。

演示者备注

抽象/具体类型

  • 数值:

    • ValNum公司,ValSet(值集),ValTensor公司... =名词短语(NP公司)
    • ValFun公司=数学函数=NP公司+额外信息
  • 变量:

    • 变量编号,变量集, ... =符号

目标:数值编号,变量编号, ...

演示者备注

具体差异

  • 英语:

    运算abs_value_CN:CN=mkCN绝对_A值_N;--在LexiconEng中林abs obj=mkNP艺术(mkCN abs_value_CN(mkAdv拥有Prep对象));--在Arith1I中unary_minus ob=mkNP(mkCN minus_N ob);
  • 芬兰语:

    一元_-x=mkNP(E.GenNP x)(mkN“vastaluku”);
  • 圣人:

    一元_-x=mkPrec 1(“-”++(usePrec 3 x));

演示者备注

关联运算符

趣味加:[ValNum]->ValNumlin plus:列表NP->NPDefGenCN sum_CN(mkNP和Conj术语)
  • 列表通过在现有列表中添加对象来形成(ConsNP公司).

  • 清单NP基本上是一个列表NP公司它知道其中是否有2个或更多元素:

    • “x和y之和”:BaseValNum x y(基本值编号x y)
    • “x、y和z之和”:ConsValNum x(BaseValNum y z)
  • 我们合并清单NP用“and”连词获得一个新的NP公司

演示者备注

函数的情况

操作人员数学函数={t:FuncForm;s2:MathVar}**NP;参数FuncForm=FNoVar|FNamed|FVar|FGral;
  • 命名的函数
    • “余弦属于3"
  • 函数变量
    • “”\(f \)“3"
  • 一般情况

    • “正弦的导数3"
  • Lambda抽象

    • "x个余弦x个 其中x是3"

演示者备注

目标:混合

  • 大多数作品都有口头/公式渲染

    • 干旱1
    • Arith1LaTeX公司
  • 目标:要组合它们:

\(x^2+1\)的平方根

演示者备注

目标:合格变量

数字类型:VarNum->QVarNum;number_list:[VarNum]->QVarNum;number_range:变量编号->变量编号->QVarNum;

\(n\)“数字”

\(x)、(y)和(z)“质数”

\(x_1,\点,x_n\)“自然数”

q _自然,q积分,q _理性,q_事件,q_prime:QVarNum->QVarNum;

“设\(x_1,\点,x_n\)为自然数,…”

演示者备注

提议

语言依赖性

道具=S[道具]=[S]SimpleProp=MathCl=Cl**{p:极性}QProp=QS;

演示者备注

目标:提案

Prop=MathCl=Cl**{p:极性}[Prop]=[MathCl]属性-->S,QS

7是质数。

7是素数吗?

[属性]-->S,QS

7是素数,8不是素数。

7是质数,8不是质数,这是真的吗?

演示者备注

转移

“计算函数的积分将x映射到x的平方,从负无穷到无穷。"

计算数字(从数字(定义间隔(λx(功率2(Var2Num x))nums1_minus_infinity nums1_infinity))计算数字(从数字(定义间隔(λx(功率2(Var2Num x))(一元减nums1_infinity)
  • 它是模棱两可的? (不是真的)

  • 功率2-->功率(int2num 2)

  • (一元减数字1无穷大)-->数字1_minus_infinity

演示者备注

转让(2)

  • 修改抽象树。

  • GF对此非常有限(定义判断)。

  • 使用GF绑定到其他语言

    • 哈斯克尔
    • 蟒蛇,

演示者备注

传输示例

种类;指挥;答案;价值类型;变量种类;乐趣Num、Fun、Set、Tensor:种类;数据计算:(k:Kind)->值k->命令;乐趣添加到:ValNum->ValNum->命令;itNum:ValNum;itSet:ValSet;简单:(k:种类)->值k->答案;反馈:(k:种类)->值k->值k->答案;定义addTo x y=计算数字(从数字(加上(BaseValNum x y));bracket_emptyset=简单集合(来自集合空集合);--{}定义bin_over x y=除以x y;乐趣isEqual:(k:Kind)->值k->值k->命令;isAppEqual:(k:种类)->值k->值k->命令;是:回答;否:回答;是近似值:索引->答案;

演示者备注

在哈斯克尔

1 完全清空  :: 布尔 ->  -> 也许 吧 
2 完成返回 :: 布尔 ->  -> [] -> []

4 完全清空 错误 _ = 没有什么
5 完全清空 真的 问题 = 只是 $ 玻璃纤维 $
6   案例 前景 问题 属于
7     G分配 k个 无功功率,无功功率 价值 -> G分配 k个 无功功率,无功功率 价值
8     GAssert公司 第页           -> G资产 第页
9
10 完成返回 反馈 问题 答案 = 猫梅贝 $ 地图 (comp'(比较) . 前景) 答案
11   哪里
12     comp'(比较) = comp公司 (前景 问题)
13     comp公司  @(GYesApprox公司 _)  = 只是 (玻璃纤维 )
14     comp公司  @GNo公司             = 只是 (玻璃纤维 )
15     comp公司  @妇科            = 只是 (玻璃纤维 )
16     comp公司  @(GSimple公司 k个 第2版)  =
17      案例 价值  属于
18         只是 第1版 -> 只是 $ 玻璃纤维 $ 如果 反馈
19                             然后 (G反馈 k个 第1版 第2版)
20                             其他的 
21         _       -> 没有什么
22     comp公司 _ @(GBegun区块 _)     = 只是 (玻璃纤维 )
23     comp公司 _ @(GEnded块 _)     = 只是 (玻璃纤维 )
24     comp公司 _ _ = 没有什么
25     价值 (G计算 _ v(v))       = 只是 v(v)
26     价值 (G近似值 v(v))     = 只是 $ G来自数字 v(v)
27     价值 (G近似于 v(v) _) = 只是 $ G来自数字 v(v)
28     价值 _                    = 没有什么

演示者备注

结束语

  • mgl-GF库提供了15种自然语言之间的解析/线性化,以及类似于OpenPath(OpenPath).

    • 已测试3种语言。
  • 它可以使用自然语言与数学软件进行交互。

演示者备注

开发新语言L(左)

  1. 资源语法支持
  2. 填充词典L(左)
  3. 审查周期
    • 修复惯用产品

演示者备注

开发新模块M(M)

  1. 添加抽象模块M(M)
  2. 将条目添加到LexiconL公司以支持M(M)
  3. 为添加混凝土模块M(M)
  4. 审查周期:
    • 语言+数学专家的输入

演示者备注

未来的工作

  • 依赖类型

  • 减少间接寻址并简化模块结构

  • 混合物

  • 限定变量

演示者备注