• Bird Meertens Formalismhomomorphism part 2


    Bird Meertens Formalism--homomorphism 

    上一篇有点长,我分开来写

    ↑#:定义为返回长度较长的序列。长度相同时返回字典序小的。

    长度对++有分配率

    x ++ (y # z) = (x ++ y) # (x ++ z)
    (x # y) ++ z = (x ++ z) # (y ++ z)
      
    (x ++ )· ↑# / = # / · (x ++ )

    (++ x)· ↑# / = # / · (++ x)

    练习:证明 # / · (all p)is a homomorphism

    · (all p)

    = ↑·++/ (X++/ (p -> [[id]o]o,[]o)*)*

    = ↑/ (↑/ · X++/ (p -> [[id]o]o,[]o)*)*

    = ↑/ (↑/ · X++/ (p -> [[id]o]o,[]o)*)*

     =↑· (++ · (/∗ ·(→ [[id]o]o[ ]o))

    这一步利用了 ++ 对 ↑/ 分配

    原来是对一个列表 X++/ 也就是先用++/叉积再求最长的

    这样的列表形如 [ [ [ 2 ] ] , [ [  4 ] ] , [ [ 6 ] ] ]

    X++/ 后变成了 [ [ 2 , 4 , 6 ] ] , ↑#/ 后变成 [ 2 , 4 , 6 ]

    而先 (↑#/)* 它会变成 [ [ 1 ] , [ 1 ] , [ 1 ] ]

    然后再++/ 就变成了 [ 1 , 1 , 1 ]

    二者是等价的

    可以继续化成

    =↑· (++ · (/ · → [[id]o]o[ ]o))

    也就是说对一个数x,如果满足p 

    就变成 [ [ x ] ] ,然后 ↑/ 变成 [ x ]

    如果不满足 p

    那么就变成 [ ] ,    / 变成 Kw = - inf

    所以可以化为

    = ↑· (++ · (→ [id]o, Kw))  

    Existence Lemma

    存在引理

    The list function h is a homomorphism iff the implication
    h v = h x h w = h y h (v ++ w) = h (x ++ y)
    holds for all lists v, w, x, y

    证明:

    左推右

    设 h = ⊕/ · f*

     

  • 相关阅读:
    ThreadLocal垮线程池传递数据解决方案:TransmittableThreadLocal
    java steam 使用指南groupingBy进阶用法
    微言Netty:百万并发基石上的epoll之剑
    ES聚合查询详解(一)
    肝了一个月的Netty知识点(上)
    kafka 如何保证消息不丢失
    IO多路复用
    Java 重入锁
    Kotlin中的协程和多线程比较实验
    mysql性能排查思路
  • 原文地址:https://www.cnblogs.com/liankewei/p/15743041.html
Copyright © 2020-2023  润新知