方程计算中的同态和同构
-
16-10-2019 - |
题
假设我们的形式有一个代数规范:$ {s,f,w } $,其中$ s $是各种各样的,$ f $是函数,$ w $是一组方程。例如,自然数的规范:
- $ s = { mathrm {int} } $
- $ f = {0: mathrm {int},; mathrm {scucs}: mathrm {int} rightarrow mathrm {int},; Mathrm {pred}: mathrm {int} rightarrow mathrm {int} } $
- $ w = { mathrm {ucc}( mathrm {pred}(x))= x,; Mathrm {pred}( mathrm {scucs}(x))= x } $
我的问题是,在这种情况下,为什么以及在哪里需要同态和同构?代数之间的同态和同构看起来像什么?
解决方案
您能否提出两个不同的代数,例如,域是$ mathbb {n} $的一个,一个域是$ {0,1 } $,在前者中, suc
和 pred
正如您想象的那样,在后者中,它们是Modulo 2操作吗?然后,尝试从一个角度提出同态。
然后,尝试制作一个代数,其中域为$ {0,s0,ss0,sss0, dots } $并定义 suc
和 pred
正如您猜到的。将同构从这个域中作为$ mathbb {n} $作为域的同构。
最后,您可以制作“术语代数”,该术语为域,所有有效的“术语”的字符串,即:“ 0”在域中,对于域中的每个元素$ t $,suc($ t) $)“在域中,并且“ pred($ t $)”在域中。他们的解释仅仅是不变 0
映射到字符串“ 0”。期限 pred(suc(suc(suc(0))))
映射到字符串“ pred(suc(suc(suc(0))))”。现在,您可能很难将同构为标准代数(具有$ Mathbb {n} $),因为“ 0”和“ pred(suc(0))”应映射到0。
我不确定您的要求,但是至少这两个任务应该让您入门。
不隶属于 cs.stackexchange