• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    共歸納數(shù)據(jù)類型上的共遞歸操作及其計算定律*

    2011-06-25 06:33:34蘇錦鈿余珊珊
    關(guān)鍵詞:二叉樹數(shù)據(jù)類型鏈表

    蘇錦鈿 余珊珊

    (1.華南理工大學(xué)計算機科學(xué)與工程學(xué)院,廣東廣州510006;2.中山大學(xué)信息科學(xué)與技術(shù)學(xué)院,廣東廣州510275)

    歸納數(shù)據(jù)類型是類型理論的一個重要組成部分和研究重點.程序語言中的有限分支樹、數(shù)組、隊列、堆棧和自然數(shù)等都是典型的歸納數(shù)據(jù)類型.這一類數(shù)據(jù)類型的語法構(gòu)造可以通過一些稱為“構(gòu)造子”的操作進行歸納地描述.從代數(shù)的角度來看,每一個歸納數(shù)據(jù)類型可以看成是某個代數(shù)函子下的一個初始代數(shù),其中代數(shù)函子對應(yīng)著該數(shù)據(jù)類型的構(gòu)造操作.由初始代數(shù)的初始性可定義歸納數(shù)據(jù)類型上的一個遞歸操作,稱為折疊操作[1]或 catamorphism[2],且該操作滿足一系列的代數(shù)計算定律.遞歸操作及其計算定律在程序的計算及轉(zhuǎn)換研究中具有非常重要的作用[3-4].

    共歸納數(shù)據(jù)類型[5]也稱為共代數(shù)數(shù)據(jù)類型[6]或共數(shù)據(jù)類型[7-8],是近十幾年來類型理論中研究數(shù)據(jù)類型的一種新思路,可看作是歸納數(shù)據(jù)類型的范疇對偶概念.與歸納數(shù)據(jù)類型不同,共歸納數(shù)據(jù)類型側(cè)重于研究數(shù)據(jù)類型在運行過程中所展現(xiàn)出來的(特別是無限)動態(tài)行為,例如流、鏈表、無限分支樹或無限數(shù)組等.這一類具有動態(tài)行為特征的數(shù)據(jù)類型可以進一步抽象為某個共代數(shù)函子下的一個終結(jié)共代數(shù),其中共代數(shù)函子對應(yīng)著該數(shù)據(jù)類型上的觀察操作.由終結(jié)共代數(shù)的終結(jié)性可定義該數(shù)據(jù)類型上的一個共遞歸操作,稱為 unfold[9-10]操作或 atamorphism[2],并且該操作滿足一系列的共代數(shù)計算定律.由于共遞歸操作及其計算定律在基于行為特征的函數(shù)定義或程序推理及轉(zhuǎn)換過程中具有重要的作用,因此 Greiner 等許多學(xué)者[5,8,11-15]均對共遞歸操作及其計算定律進行了比較深入和全面的研究.這些研究的基本思路是將共歸納數(shù)據(jù)類型看作某個共代數(shù)函子下的終結(jié)共代數(shù),從而利用終結(jié)共代數(shù)及共歸納原理給出共遞歸操作上的各種計算定律.但這些研究對參數(shù)化共歸納數(shù)據(jù)類型上的計算定律的分析較為簡單,沒有考慮自然轉(zhuǎn)換下不同類型函子上的計算定律.

    因此,文中從范疇論的角度給出共歸納數(shù)據(jù)類型的共代數(shù)描述,并結(jié)合實例對共歸納數(shù)據(jù)類型上的共遞歸操作及其計算定律進行分析,特別是利用雙函子及類型函子對參數(shù)化共歸納數(shù)據(jù)類型進行抽象描述,并給出類型函子上的計算定律及其證明.

    1 共歸納數(shù)據(jù)類型

    作為歸納數(shù)據(jù)類型的范疇對偶概念,共歸納數(shù)據(jù)類型關(guān)注的不是數(shù)據(jù)類型的語法構(gòu)造,而是數(shù)據(jù)類型在執(zhí)行的過程中所展現(xiàn)出來的外部動態(tài)行為特征.

    例1 下面是程序語言中一些典型的共歸納數(shù)據(jù)類型.

    (1)流.用于描述輸入/輸出設(shè)備與程序之間交互關(guān)系的流一般包含兩個操作,一個操作value:AN→A用于得到流當(dāng)前狀態(tài)所能顯示的值(假設(shè)值的類型為A,則無限流可表示為AN,其中N為自然數(shù)),另一個操作next:AN→AN則使流進入下一個狀態(tài):

    (2)鏈表.對于一個由空鏈表nil和插入操作cons遞歸定義而成的參數(shù)化鏈表(假定鏈表中元素的類型為A,A∞=AN∪Aω是由無限鏈表AN和有限鏈表Aω所構(gòu)成的集合),可通過兩個操作head和tail進行觀察,其中head:A∞→1+A用于獲取鏈表的頭部元素,tail:A∞→1+A∞用于返回鏈表中除頭元素外的剩余元素.若數(shù)組為空,則兩個操作均返回⊥∈1:

    (3)二叉樹.對于以A中元素為標(biāo)簽的二叉樹btree(A),可通過以下的操作進行觀察:

    其中l(wèi)eaf操作給出了根節(jié)點上的標(biāo)簽,left和right則分別返回以左右結(jié)點為根的二叉樹.

    從上述例子可以看出,共歸納數(shù)據(jù)類型是由某個數(shù)據(jù)類型集合及其上的一組析構(gòu)操作所構(gòu)成,其中析構(gòu)操作給出了對數(shù)據(jù)類型的觀察結(jié)果.對于給定的共歸納數(shù)據(jù)類型X,其上的析構(gòu)操作σ通常具有σ:X→A1×A2×…×An的形式,其中Ai為某個已知的數(shù)據(jù)類型,表示對X的一種觀察結(jié)果.

    作為代數(shù)的范疇對偶概念,共代數(shù)本質(zhì)上也可以看成是由集合及其上一組滿足一定性質(zhì)的操作所構(gòu)成,通常具有αX:X→FX的形式.在計算機科學(xué)中,共代數(shù)常被看成是具有內(nèi)部狀態(tài)的系統(tǒng),X是系統(tǒng)中所有可能狀態(tài)的集合,基調(diào)αX是對系統(tǒng)的一種觀察.

    定義1 給定集合范疇Set及其上的一個自函子F:Set→Set,一個 F-共代數(shù)定義為一個二元組(X,αX:X→FX),其中X是Set中的對象,稱為該F-共代數(shù)的載體,αX:X→FX是Set中的射,稱為該F-共代數(shù)的變遷射或基調(diào).任意兩個F-共代數(shù)(X,αX:X→FX)和(Y,αY:Y→FY)之間的同態(tài)射 f:(X,αX)→(Y,αY)是 Set中的射 f:X→Y,且滿足圖1 所示的圖表交換.

    圖1 共代數(shù)同態(tài)射Fig.1 Homomorphism between coalgebras

    由于共歸納數(shù)據(jù)類型本質(zhì)上也是由集合及其上一組滿足某些性質(zhì)的操作所構(gòu)成,因此可以進一步抽象為某個共代數(shù),其中共代數(shù)函子對應(yīng)著該數(shù)據(jù)類型上的析構(gòu)操作.

    例2 流、鏈表和二叉樹等共歸納數(shù)據(jù)類型都可以表示為共代數(shù).

    (1)流可以表示為函子SA(X)=A×X下的共代數(shù)(X,αX=〈value,next〉:X→A ×X),X 為流中所有可能狀態(tài)的集合.

    (2)鏈表可以表示為函子LA(X)=A×X+1下的共代數(shù)(X,αX=〈head,tail〉:X→A ×X+1).

    (3)二叉樹可以表示為函子BA(X)=A×X×X下的共代數(shù)(X,αX=〈leaf,right,right〉:X→A × X ×X).

    共歸納數(shù)據(jù)類型不僅可以抽象地描述為共代數(shù),而且是對應(yīng)共代數(shù)函子上的最大固定點,即為該函子的一個終結(jié)共代數(shù),記為(vF,outF:vF→FvF).該終結(jié)共代數(shù)實際上就給出了共歸納類型的定義.

    例如,流可以看成是函子SA(X)=A×X下的一個終結(jié)共代數(shù)(AN,〈value,next〉:AN→A × AN),鏈表可以看成是函子LA(X)=A×X+1下的一個終結(jié)共代數(shù)(A∞,〈head,tail〉:A∞→A × A∞+1),二叉樹可以看成是函子BA(X)=A×X×X下的一個終結(jié)共代數(shù)(btree(A),〈leaf,left,right〉:btree(A)→A ×btree(A)×btree(A)),其中btree(A)是由A中的元素所構(gòu)成的無限二叉樹結(jié)構(gòu).

    根據(jù)文獻(xiàn)[16]中的定理9.1可得到終結(jié)代數(shù)上的一個重要性質(zhì).

    定理1(文獻(xiàn)[16]中定理9.1)終結(jié)共代數(shù)上的基調(diào)是一個同構(gòu)射.

    即基調(diào) outF:vF→FvF是一個同構(gòu)射,其逆outF-1:FvF→vF給出了載體集vF上的構(gòu)造操作.例如,函子FX=A×X的終結(jié)共代數(shù)上的基調(diào)outF=〈value,next〉的逆 outF-1=[scons]為流上的一個構(gòu)造操作,其中scons:A×X→X表示將一個類型為A的元素作為前綴添加到一個流中.文獻(xiàn)[17]中指出在許多情況下函子F的終結(jié)共代數(shù)(vF,outF)可以理解為同一函子下的初始代數(shù)(μF,inF:μF→FμF)的某種形式的補充.例如,有限及無限鏈表集A∞可看成是函子FX=1+A×X下只包含有限鏈表Aω的初始代數(shù)的一種補充.事實上,根據(jù)上述定理1可將(vF,outF)的逆(vF,outF-1)看成是一個代數(shù).但這容易使得對共歸納原理的形式化描述變得更加復(fù)雜,而且也不符合共代數(shù)的非良基集性質(zhì).

    2 共遞歸操作及其計算定律

    由終結(jié)共代數(shù)的終結(jié)性可以定義每一個共歸納類型上的一個操作,用于表示由該類型上的結(jié)構(gòu)化共遞歸定義而成的函數(shù),稱為unfold操作或atamorphism.該函數(shù)就是由任意的F-共代數(shù)(X,αX)到其終結(jié)共代數(shù)(vF,outF)的唯一同態(tài)射,記為[αX]F:X→vF.由于[αX]F為一個共代數(shù)同態(tài)射,因此滿足等式:outF?[αX]F=F[αX]F?αX,即得如圖 2 所示的圖表交換.

    圖2 終結(jié)共代數(shù)及其unfold操作Fig.2 Final coalgebras and its unfold operation

    由終結(jié)共代數(shù)的終結(jié)性可以得到著名的共歸納原理(包括共歸納定義原則和證明原則).

    (1)共歸納定義原則 要定義一個以終結(jié)共代數(shù)載體集為目標(biāo)的函數(shù),只要根據(jù)所定義的函數(shù)所應(yīng)滿足的性質(zhì),為該函數(shù)的源構(gòu)造一個合適的共代數(shù)即可;

    (2)共歸納證明原則 要證明兩個以終結(jié)共代數(shù)載體集為目標(biāo)的函數(shù)相等,只需要證明這兩個函數(shù)都是同一共代數(shù)到終結(jié)共代數(shù)的同態(tài)即可.

    例3 例1中的各個共歸納數(shù)據(jù)類型上的unfold操作分別定義為

    (1)對于任意的流共代數(shù)(X,αX=〈vs,ns〉:X→A×X,unfold操作為唯一射 f=[αX]SA:X→AN,滿足value ?f=vs和 next?f=f?ns.

    (2)對于任意的鏈表共代數(shù)(X,αX=〈hd,tl〉:X→A×X+1,unfold為唯一射 f=[αX]LA:X→A∞,使得滿足 head ?f=hd 和 tail?f=f?tl.

    (3)對于任意的二叉樹共代數(shù)(X,αX=〈lf,lt,rt〉:X→A×X ×X),unfold為唯一射 f=[αX]BA:X→btree(A),使得滿足 leaf?f=lf、left?f=f?lt和 right?f=f?rt.

    共歸納數(shù)據(jù)類型上的unfold操作滿足以下的共代數(shù)計算定律[2].

    定律1(單元定律)若unfold操作的源是終結(jié)共代數(shù),那么該unfold操作為單元射,即:[outF]F=IdvF.

    證明由任意的單元射IdvF:vF→vF都為同態(tài)射及unfold操作的唯一性可知[outF]F=IdvF成立.

    定律2(unfold-map融合定律)對一個unfold操作和一個共代數(shù)同態(tài)射進行復(fù)合后仍然為一個unfold 操作,即:αY?f=Ff?αX?[αY]F?f=[αX]F.

    證明由前提可知下圖3中的左、右部分均滿足圖表交換.因此,[αY]F?f和[αX]F為共代數(shù)(X,αX)到終結(jié)共代數(shù)(vF,outF)的 unfold操作.由 unfold 操作的唯一性可知有 αY?f=Ff?αX?[αY]F?f=[αX]F.證畢.

    圖3 共代數(shù)同態(tài)射及其unfold操作Fig.3 Homomorphism between coalgebras and its unfold operation

    unfold-map融合定律在程序計算中具有重要的作用,可以用于消除計算過程中所產(chǎn)生的中間數(shù)據(jù)結(jié)構(gòu),從而簡化程序計算的結(jié)構(gòu).

    例4 自然數(shù)流上的倍乘函數(shù)double:NatN→NatN將流中的每一個自然數(shù)元素都乘以2后構(gòu)成一個新的流:

    顯然,double:(NatN,〈vl,nt〉)→(NatN,〈value,next〉)是自然數(shù)流之間的一個共代數(shù)同態(tài)射,且double 為一個 unfold 射[〈vl,nt〉]SA.

    函數(shù)merge:NatN×NatN→NatN依次交替地將兩個自然數(shù)流中的頭元素取出,并構(gòu)成一個新的流,即merge(a1:x1,x2)=a1:merge(x2,x1).顯然,merge 滿足以下等式:

    因此,merge:(NatN× NatN,〈vs,ns〉)→(NatN,〈vl,nt〉)是一個同態(tài)射.對函數(shù) double和 merge進行合并可得到以下等式:

    double?merge表示先利用merge將兩個自然數(shù)流合并在一起,然后再將double函數(shù)作用于該流,最終得到一個新的自然數(shù)流.

    根據(jù)unfold-map融合定律可以不需要merge和double函數(shù),而是直接利用函數(shù) dmerge:(NatN×NatN,〈vs,ns〉)→(NatN,〈value,next〉)依次交替地將兩個自然數(shù)流中的頭元素取出并乘以2后構(gòu)成一個新的流,即

    圖4 基于unfold-map融合定律的流實例Fig.4 Examples of stream for unfold-map fusion law

    最后一個定律稱為unfold-unfold定律,用于對產(chǎn)生并且消耗一個中間共代數(shù)結(jié)構(gòu)的函數(shù)進行結(jié)合.應(yīng)用該定律時,要求中間的共代數(shù)結(jié)構(gòu)必須是由一個unfold操作產(chǎn)生的,并且該unfold操作的目標(biāo)共代數(shù)是通過一個自然轉(zhuǎn)換構(gòu)造而成.

    所謂的自然轉(zhuǎn)換是指函子間的一個轉(zhuǎn)換函數(shù)τ:F?G,將一個 F-共代數(shù)轉(zhuǎn)換為一個 G-共代數(shù),使得:若f:X→Y 為F-共代數(shù)(X,αX:X→FX)和(Y,αY:Y→FY)間的同態(tài)射,則 f同時為 G-共代數(shù)(X,τX?αX:X→GX)和(Y,τY?αY:Y→GY)間的同態(tài)射,即滿足 Gf?τX?αX=τY?αY?f.

    直觀地說,一個自然轉(zhuǎn)換τ:F?G可看成是一個多項式函數(shù),將某一類共代數(shù)轉(zhuǎn)換成另一類共代數(shù).

    定律3(unfold-unfold融合定律)給定一個自然轉(zhuǎn)換關(guān)系τ:F?G,對于 F-共代數(shù)(X,αX),有:

    證明對于任意的 F-共代數(shù)(X,αX),由于unfold操作是一個同態(tài)射,根據(jù)自然轉(zhuǎn)換和unfold的性質(zhì)可知圖5中的各個圖表均滿足交換.[τvF?outF]G?[αX]F和[τX?αX]G均為 G-共代數(shù)(X,τX?αX)到G-終結(jié)共代數(shù)(vG,outG)的unfold操作.由unfold操作的唯一性可知[τvF?outF]G?[αX]F=[τX?αX]G.證畢.

    圖5 unfold-unfold融合定律Fig.5 Unfold-unfold fusion law

    3 參數(shù)化共歸納數(shù)據(jù)類型

    上述的流、鏈表和二叉樹等共歸納數(shù)據(jù)類型通常都是參數(shù)化的,因此可以進一步抽象為某個雙函子F:Set→Set×Set下的共代數(shù).通過固定雙函子F的共域中的第1個參數(shù)(假設(shè)該參數(shù)的類型為A),可得到一個一元函子F:Set→A×Set,記為FA,使得FAX=FA(A,X).設(shè)DvA是由FA所確定的終結(jié)共代數(shù)上的載體,則Dv:Set→Set可以提升為一個類型函子[3],使得對于任意的 f:A→B,有:Dvf=[F(f,IdDvA)?outFA]FB,如圖 6 所示.

    圖6 類型函子Fig.6 Type functor

    例5 若Dv為流類型構(gòu)造子,則對于類型A有DvA=AN,對于射 f:A→B 有:Dvf=fN=[〈f?value,next〉]SB:AN→BN;若 Dv為鏈表類型構(gòu)造子,則對于類型A有 DvA=A∞,對于射f:A→B有:Dvf=f∞=[〈f?head,tail〉]LB:A∞→B∞;若 Dv為一個二叉樹類型構(gòu)造子,則對于類型A有DvA=btree(A),對于射f:A→B 有:Dvf=btree(f)=[〈f?leaf,left,right〉]BB:btree(A)→btree(B).

    類型函子Dv滿足相應(yīng)的unfold-map融合定律.

    圖7 類型函子的unfold-map融合定律Fig.7 Unfold-map fusion law for type functor

    定律4(類型函子上的unfold-map融合定律)對于 f:A→B 和 g:X→FAX,有:Dvf?[g]FA=[F(f,IdX)?g]FB.

    證明 根據(jù)前提可知上述圖中的各個圖表均滿足交換.Dvf?[g]FA和[F(f,IdX)?g]FB均為共代數(shù)(X,F(xiàn)(f,IdX)?g)到(DvB,outFB)的 unfold 操作.由unfold 的唯一性可知 Dvf?[g]FA=[F(f,IdX)?g]FB.證畢.

    定理2 對于兩個雙函子F,G:Set→Set×Set,設(shè)τ:F?G 為一個自然轉(zhuǎn)換,τA,X表示 τA,X:FAX?GAX,則對于 g:X→FAX,有 τA,X?g:X→GAX,且對于f:A→B有:

    證明 由類型函子的性質(zhì)及unfold操作的唯一性可證明成立.

    在自然轉(zhuǎn)換的作用下,類型函子Dv滿足相應(yīng)的unfold-unfold融合定律,如圖8所示.

    圖8 自然轉(zhuǎn)換下的類型函子Fig.8 Type functor via natural transformation

    定律5(類型函子上的unfold-unfold融合定律)對于f:A→B、g:X→FAX及自然轉(zhuǎn)換τ:F?G,有:

    證明由unfold的定義及自然轉(zhuǎn)換保持態(tài)射和組合關(guān)系的性質(zhì)可知,Dvf?[g]FA=[τB,X?F(f,IdX)?g]GB和[G(f,IdX)?τA,X?g]GB均為共代數(shù)(X,G(f,IdX)?τA,X?g)到(DvB,outGB)的 unfold 操作,因此由其唯一性可證明上述等式成立.證畢.

    其融合定律如圖9所示.

    圖9 類型函子上的unfold-unfold融合定律Fig.9 Unfold-unfold fusion law for type functor

    4 結(jié)語

    對共歸納數(shù)據(jù)類型上的共遞歸操作及其計算定律進行研究有助于人們更加深入地了解抽象數(shù)據(jù)類型的動態(tài)行為特征,提高程序語言對其動態(tài)行為的描述能力.更重要的,可以將終結(jié)共代數(shù)及共歸納原理等共代數(shù)理論引入到類型理論中,便于在程序中定義更加復(fù)雜的函數(shù)或開展基于行為特征的推理或轉(zhuǎn)換工作.

    在下一步工作中,將對其它的共遞歸操作(例如原始共遞歸和Course-of-value共遞歸等)及其計算定律進行深入的研究.

    [1]Bird R.Introduction to functional programming using haskell[M].2nd edition.UK:Prentice-Hall,1998.

    [2]Meijer E,F(xiàn)okkinga E,Paterson R.Functional programming with bananas,lenses,envelopes and barbed wire[C]∥Functional Programming Languages and Computer Architecture.Berlin:Springer,1991:215-240.

    [3]Bird R,Moor O D.Algebra of programming[M].UK:Prentice Hall,1997.

    [4]Gibbons J.Lecture notes on algebraic and coalgebraic methods for calculating functional programs[C]∥Summer School on Algebraic and Coalgebraic Methods in the Mathematics of Program Construction.UK:Oxford,2000.

    [5]Greiner J.Programming with inductive and co-inductive types[R].Pittsburgh:School of Computer Science,Carnegie-Mellon University,1992.

    [6]Hensel U,Jacobs B.Coalgebraic theories of sequences in PVS [J].Journal of Logic and Computation,1999,9(4):463-500.

    [7]Kieburtz R B.Codata and comonads in Haskell[EB/OL].(1999-12-31).http:∥citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.5169.

    [8]Hinze R.Reasoning about Codata[C]∥Proceedings of centraleuropean functionalprogramming school-third summer school.Berlin:Springer Berlin Heidelberg,2010:42-93.

    [9]Hutton G.Fold and unfold for program semantics[C]∥Proceedings of the 3rd ACM Sigplan International Conference on Functional Programming.[S.l.]:ACM,1998:280-288.

    [10]Gibbons J,Jones G.The under-appreciated unfold [C]∥Proc 3rd ACM Sigplan International Conference on Functional Programming.New York:ACM,1998:273-279.

    [11]Harper R.Practical foundations fro programming languages[M].[S.l.]:Carnegie Mellon University,2010.

    [12]Vos T.Program construction and generation based on recursive types[D].Utrecht:University of Utrecht,1995.

    [13]Vene V,Uustalu T.Functional programming with apomor phism(Corecursion)[J]∥Proceedings of the Estonian Academy of Science:Physics,Mathematics,1998,47(3):147-161.

    [14]Uustalu T,Vene V.Primitive(Co)recursion and course-of-value(Co)iteration,categorically [J].Informatica,1999,10(1):5-26.

    [15]Vene V.Categorical programming with inductive and coinductive types[D].Estonia:Department of Computer Science,University of Tartu,2000:1-100.

    [16]Rutten J J M M.Universal coalgebra:a theory of systems[J].Theoretical Computer Science,2000,249(1):3-80.

    [17]Barr M.Terminal coalgebras in well-founded set theory[J].Theoretical Computer Science,1993,114(2):299-315.

    猜你喜歡
    二叉樹數(shù)據(jù)類型鏈表
    CSP真題——二叉樹
    電腦報(2022年37期)2022-09-28 05:31:07
    詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
    二叉樹創(chuàng)建方法
    如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
    基于二進制鏈表的粗糙集屬性約簡
    跟麥咭學(xué)編程
    基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
    一種由層次遍歷和其它遍歷構(gòu)造二叉樹的新算法
    鏈表方式集中器抄表的設(shè)計
    電測與儀表(2014年1期)2014-04-04 12:00:22
    論復(fù)雜二叉樹的初始化算法
    河南科技(2014年24期)2014-02-27 14:20:01
    国产成年人精品一区二区| 亚洲欧美日韩东京热| 性插视频无遮挡在线免费观看| 日日撸夜夜添| 波多野结衣高清无吗| 国产一级毛片七仙女欲春2| 中文字幕av在线有码专区| 亚洲久久久久久中文字幕| 国产精品一区www在线观看| 好男人视频免费观看在线| 成人午夜高清在线视频| 国产亚洲91精品色在线| 久久久久久久久大av| 久久精品人妻少妇| 亚洲中文字幕日韩| kizo精华| 级片在线观看| 一进一出抽搐动态| av卡一久久| 日韩欧美一区二区三区在线观看| 2021天堂中文幕一二区在线观| 欧美日韩一区二区视频在线观看视频在线 | 亚洲精品日韩在线中文字幕 | 九九久久精品国产亚洲av麻豆| 欧美激情久久久久久爽电影| 国产大屁股一区二区在线视频| 热99re8久久精品国产| 日本欧美国产在线视频| 欧美zozozo另类| 长腿黑丝高跟| 久久精品夜夜夜夜夜久久蜜豆| 色哟哟哟哟哟哟| 一级黄色大片毛片| 97超碰精品成人国产| 黄色欧美视频在线观看| 久久久久久久久久久丰满| 女的被弄到高潮叫床怎么办| 干丝袜人妻中文字幕| 在线免费十八禁| 国产成人影院久久av| 久久6这里有精品| 久久综合国产亚洲精品| 亚洲最大成人av| 亚洲av.av天堂| 亚洲欧美成人综合另类久久久 | 婷婷精品国产亚洲av| 久久久精品大字幕| 一卡2卡三卡四卡精品乱码亚洲| 人妻系列 视频| 熟女人妻精品中文字幕| 久久久久网色| 一个人观看的视频www高清免费观看| 国产精品女同一区二区软件| 国产成人福利小说| 国产成人91sexporn| 波多野结衣高清无吗| 色哟哟哟哟哟哟| 一个人看的www免费观看视频| 欧美高清成人免费视频www| 日韩视频在线欧美| 赤兔流量卡办理| 成人综合一区亚洲| 亚洲三级黄色毛片| 亚洲图色成人| 精品人妻一区二区三区麻豆| 国产色爽女视频免费观看| 亚洲av不卡在线观看| 成人鲁丝片一二三区免费| 成人鲁丝片一二三区免费| 极品教师在线视频| 内地一区二区视频在线| 色尼玛亚洲综合影院| 内地一区二区视频在线| 又爽又黄a免费视频| 特大巨黑吊av在线直播| 中文字幕制服av| 久久久久久久亚洲中文字幕| 男女那种视频在线观看| 老司机福利观看| 欧美xxxx性猛交bbbb| 成人性生交大片免费视频hd| 美女cb高潮喷水在线观看| videossex国产| 岛国在线免费视频观看| 美女xxoo啪啪120秒动态图| 一级毛片电影观看 | 成人永久免费在线观看视频| 美女被艹到高潮喷水动态| 国产高清三级在线| 国产大屁股一区二区在线视频| 亚洲第一电影网av| 免费黄网站久久成人精品| 极品教师在线视频| 久久草成人影院| 美女高潮的动态| 国产日本99.免费观看| 成人鲁丝片一二三区免费| 精品无人区乱码1区二区| 免费在线观看成人毛片| 女人被狂操c到高潮| 亚洲精品456在线播放app| 婷婷色av中文字幕| 亚洲久久久久久中文字幕| 国产高清三级在线| 国产欧美日韩精品一区二区| 午夜精品一区二区三区免费看| av专区在线播放| 精品久久久久久久人妻蜜臀av| 国产色婷婷99| 99热精品在线国产| 久久亚洲国产成人精品v| 国产精品99久久久久久久久| 亚洲经典国产精华液单| av在线蜜桃| 国产三级中文精品| 欧美+亚洲+日韩+国产| 只有这里有精品99| 成人毛片a级毛片在线播放| 国产精品一区二区性色av| 亚洲精品亚洲一区二区| 亚洲欧美精品专区久久| 国产精品久久久久久亚洲av鲁大| 两个人的视频大全免费| 成人三级黄色视频| 男女下面进入的视频免费午夜| 99久久中文字幕三级久久日本| 欧美性猛交黑人性爽| 超碰av人人做人人爽久久| 免费搜索国产男女视频| 久久午夜福利片| 久久久色成人| 能在线免费看毛片的网站| 国产精品美女特级片免费视频播放器| 国产真实乱freesex| 国产美女午夜福利| 精品日产1卡2卡| 男女那种视频在线观看| 国产色婷婷99| 国产伦在线观看视频一区| www.av在线官网国产| 国产精品不卡视频一区二区| 伊人久久精品亚洲午夜| 内射极品少妇av片p| 麻豆久久精品国产亚洲av| 亚洲精品自拍成人| 少妇丰满av| 免费不卡的大黄色大毛片视频在线观看 | 不卡一级毛片| 此物有八面人人有两片| 国产午夜精品久久久久久一区二区三区| 亚洲国产精品sss在线观看| 亚洲精品成人久久久久久| 美女大奶头视频| 哪个播放器可以免费观看大片| 精品午夜福利在线看| 深爱激情五月婷婷| 一个人观看的视频www高清免费观看| 一本一本综合久久| 啦啦啦啦在线视频资源| 高清在线视频一区二区三区 | 中国国产av一级| 观看美女的网站| 一区二区三区免费毛片| 午夜激情福利司机影院| 高清毛片免费看| 麻豆一二三区av精品| 国产精品一区二区在线观看99 | 少妇丰满av| 99久久中文字幕三级久久日本| 色综合站精品国产| 天美传媒精品一区二区| 日本欧美国产在线视频| 久久久国产成人精品二区| 天堂网av新在线| 97超碰精品成人国产| 黄色日韩在线| 亚洲av中文av极速乱| 18禁黄网站禁片免费观看直播| avwww免费| 国产精品日韩av在线免费观看| 69av精品久久久久久| 国产片特级美女逼逼视频| 美女高潮的动态| 日韩视频在线欧美| 亚洲色图av天堂| 久久欧美精品欧美久久欧美| 久久久久久伊人网av| 国产精品三级大全| 69av精品久久久久久| 久久精品夜色国产| 精品无人区乱码1区二区| 秋霞在线观看毛片| 欧美3d第一页| 欧美成人精品欧美一级黄| 高清毛片免费看| 日韩一区二区视频免费看| 欧美激情久久久久久爽电影| 边亲边吃奶的免费视频| 五月伊人婷婷丁香| 3wmmmm亚洲av在线观看| 菩萨蛮人人尽说江南好唐韦庄 | 国产精品乱码一区二三区的特点| 国产精品国产高清国产av| 亚洲精品亚洲一区二区| 少妇被粗大猛烈的视频| 亚洲av免费在线观看| 午夜亚洲福利在线播放| 在线免费十八禁| 又爽又黄无遮挡网站| 国产免费一级a男人的天堂| 日本黄大片高清| 国产不卡一卡二| 日韩欧美三级三区| 久久人人爽人人爽人人片va| a级毛片免费高清观看在线播放| 综合色丁香网| 老司机影院成人| 老司机福利观看| 国产精品不卡视频一区二区| 大香蕉久久网| 亚洲电影在线观看av| 久久精品人妻少妇| 草草在线视频免费看| 丰满乱子伦码专区| 一级毛片我不卡| 国产精品久久久久久久久免| 天堂网av新在线| 波野结衣二区三区在线| 精品人妻偷拍中文字幕| 亚洲av.av天堂| 久久久久久久久大av| 国产成人福利小说| 深爱激情五月婷婷| 男人的好看免费观看在线视频| 最近2019中文字幕mv第一页| 日本三级黄在线观看| 少妇的逼水好多| 伦理电影大哥的女人| 日本-黄色视频高清免费观看| 日日啪夜夜撸| 91麻豆精品激情在线观看国产| 久久精品影院6| а√天堂www在线а√下载| 一本一本综合久久| 亚洲国产精品国产精品| 日韩成人伦理影院| 永久网站在线| 久久中文看片网| 女人十人毛片免费观看3o分钟| 老司机影院成人| 国产成人a区在线观看| 亚洲经典国产精华液单| 一进一出抽搐gif免费好疼| 菩萨蛮人人尽说江南好唐韦庄 | 亚洲国产精品合色在线| 成人三级黄色视频| 免费看美女性在线毛片视频| 人妻少妇偷人精品九色| 成年免费大片在线观看| 亚洲在线自拍视频| 亚洲最大成人中文| 天天躁夜夜躁狠狠久久av| 国产高清激情床上av| 国产高清有码在线观看视频| 国产亚洲欧美98| 人人妻人人看人人澡| 日韩欧美 国产精品| 久久久久久大精品| 中文字幕精品亚洲无线码一区| 一卡2卡三卡四卡精品乱码亚洲| 99久久九九国产精品国产免费| 97人妻精品一区二区三区麻豆| 久久久久久大精品| 最近的中文字幕免费完整| 成人一区二区视频在线观看| 两个人的视频大全免费| 我的女老师完整版在线观看| 成人午夜高清在线视频| 中出人妻视频一区二区| 亚洲人成网站在线观看播放| 国产爱豆传媒在线观看| 国内揄拍国产精品人妻在线| 国产男人的电影天堂91| 99九九线精品视频在线观看视频| 成人漫画全彩无遮挡| 91久久精品国产一区二区成人| 一个人观看的视频www高清免费观看| 干丝袜人妻中文字幕| 亚洲人成网站在线观看播放| 日本黄色视频三级网站网址| 国产私拍福利视频在线观看| 六月丁香七月| 久久精品国产亚洲av天美| 色综合色国产| 最新中文字幕久久久久| 女人十人毛片免费观看3o分钟| 91精品国产九色| 久久久久国产网址| 亚洲欧美日韩无卡精品| 超碰av人人做人人爽久久| 精品欧美国产一区二区三| 色尼玛亚洲综合影院| 欧美日韩国产亚洲二区| 亚洲成人久久性| 久久这里只有精品中国| 日韩强制内射视频| 毛片女人毛片| 校园春色视频在线观看| 国产免费男女视频| 91aial.com中文字幕在线观看| 国产精品精品国产色婷婷| 最近手机中文字幕大全| 亚洲欧美精品综合久久99| 国产精品不卡视频一区二区| 久久99精品国语久久久| 色综合站精品国产| 简卡轻食公司| 99精品在免费线老司机午夜| 亚洲欧美精品自产自拍| 亚洲一级一片aⅴ在线观看| 男插女下体视频免费在线播放| 乱码一卡2卡4卡精品| 国产老妇女一区| 91麻豆精品激情在线观看国产| 一边摸一边抽搐一进一小说| av在线老鸭窝| 国产一级毛片七仙女欲春2| 日本一二三区视频观看| 婷婷色av中文字幕| 亚洲成av人片在线播放无| 自拍偷自拍亚洲精品老妇| 最近视频中文字幕2019在线8| 国产中年淑女户外野战色| 日日摸夜夜添夜夜添av毛片| 国产精品福利在线免费观看| 免费大片18禁| 国产精品永久免费网站| 国产熟女欧美一区二区| 国产高清视频在线观看网站| 亚洲成人久久爱视频| 中文资源天堂在线| 男人舔女人下体高潮全视频| 18禁在线无遮挡免费观看视频| 99久久成人亚洲精品观看| 天堂中文最新版在线下载 | 国语自产精品视频在线第100页| 亚洲精品成人久久久久久| 久久韩国三级中文字幕| 国产日韩欧美在线精品| 国产亚洲5aaaaa淫片| av在线天堂中文字幕| 91精品国产九色| 欧美+日韩+精品| 国产精品久久久久久精品电影| 亚洲四区av| 久久这里有精品视频免费| 欧美又色又爽又黄视频| 亚洲av一区综合| 人妻久久中文字幕网| 亚洲成人av在线免费| 国产男人的电影天堂91| 国产片特级美女逼逼视频| 久久久久久久久中文| avwww免费| 久久国内精品自在自线图片| 国产伦理片在线播放av一区 | 嫩草影院精品99| 国产久久久一区二区三区| 91午夜精品亚洲一区二区三区| 日韩av在线大香蕉| 欧美另类亚洲清纯唯美| 亚洲电影在线观看av| 综合色丁香网| 中文字幕久久专区| 欧美日韩在线观看h| 一个人观看的视频www高清免费观看| 亚洲在线观看片| 自拍偷自拍亚洲精品老妇| 岛国在线免费视频观看| 乱码一卡2卡4卡精品| 久久热精品热| av在线播放精品| 日本一本二区三区精品| 国产精品综合久久久久久久免费| av在线天堂中文字幕| 老司机福利观看| 边亲边吃奶的免费视频| 99国产精品一区二区蜜桃av| 日韩欧美国产在线观看| 国产成人精品久久久久久| 欧美一区二区国产精品久久精品| 成人亚洲精品av一区二区| 在线观看66精品国产| 麻豆国产97在线/欧美| 久久精品久久久久久久性| 岛国毛片在线播放| 热99在线观看视频| 一区二区三区四区激情视频 | av国产免费在线观看| 亚洲va在线va天堂va国产| 午夜视频国产福利| 91aial.com中文字幕在线观看| 日本免费a在线| 99久国产av精品| 99久久九九国产精品国产免费| 午夜a级毛片| 日韩欧美精品免费久久| 国产在线男女| 26uuu在线亚洲综合色| 久久久色成人| 亚洲最大成人中文| 深夜精品福利| 麻豆精品久久久久久蜜桃| 99久久九九国产精品国产免费| АⅤ资源中文在线天堂| 精品日产1卡2卡| 日韩人妻高清精品专区| 1024手机看黄色片| 免费观看在线日韩| 亚洲欧美日韩卡通动漫| 国产午夜精品一二区理论片| 国产精品av视频在线免费观看| 可以在线观看的亚洲视频| 成人亚洲欧美一区二区av| а√天堂www在线а√下载| 国产成人a区在线观看| av免费观看日本| 能在线免费观看的黄片| 少妇高潮的动态图| 99在线人妻在线中文字幕| 欧美丝袜亚洲另类| 国产毛片a区久久久久| 亚洲18禁久久av| 国产精品久久久久久久久免| 在线观看66精品国产| 黄色视频,在线免费观看| 中文字幕人妻熟人妻熟丝袜美| 日产精品乱码卡一卡2卡三| 亚洲高清免费不卡视频| 久久久久久久久中文| 在线免费观看的www视频| 日本在线视频免费播放| 久久亚洲精品不卡| 午夜精品国产一区二区电影 | 久久精品人妻少妇| 亚洲精品影视一区二区三区av| 可以在线观看毛片的网站| 久久精品久久久久久噜噜老黄 | 亚洲欧美清纯卡通| 一个人看视频在线观看www免费| 国产男人的电影天堂91| 99热这里只有精品一区| 亚洲激情五月婷婷啪啪| 欧美成人一区二区免费高清观看| 人人妻人人看人人澡| 久久久久久久久大av| 久久久久性生活片| 夫妻性生交免费视频一级片| 成人漫画全彩无遮挡| 亚洲在线自拍视频| 国产伦精品一区二区三区视频9| 大香蕉久久网| 中文亚洲av片在线观看爽| 性色avwww在线观看| 亚洲av二区三区四区| 欧美激情在线99| 伦精品一区二区三区| 国产一区二区在线av高清观看| 亚洲人成网站在线播| 国产精品福利在线免费观看| 成人无遮挡网站| 国产日韩欧美在线精品| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 国产成人精品婷婷| 级片在线观看| 日韩制服骚丝袜av| 别揉我奶头 嗯啊视频| 99久久精品热视频| 国产精品久久久久久久久免| 日韩av不卡免费在线播放| 久99久视频精品免费| 色哟哟哟哟哟哟| 亚洲av免费高清在线观看| 夜夜看夜夜爽夜夜摸| 国产成人a∨麻豆精品| 欧美激情久久久久久爽电影| 一夜夜www| 97超碰精品成人国产| 九九热线精品视视频播放| 久久精品国产亚洲av天美| 只有这里有精品99| 最近2019中文字幕mv第一页| 天堂中文最新版在线下载 | 两个人视频免费观看高清| 欧美日韩国产亚洲二区| 成人特级av手机在线观看| 97超碰精品成人国产| 偷拍熟女少妇极品色| 中文字幕av在线有码专区| 国产精品,欧美在线| 亚洲图色成人| 国产私拍福利视频在线观看| 日韩欧美国产在线观看| 菩萨蛮人人尽说江南好唐韦庄 | 亚洲成a人片在线一区二区| av.在线天堂| 亚洲婷婷狠狠爱综合网| 婷婷精品国产亚洲av| 日本av手机在线免费观看| 91精品一卡2卡3卡4卡| АⅤ资源中文在线天堂| 最近最新中文字幕大全电影3| 热99在线观看视频| 又爽又黄无遮挡网站| 只有这里有精品99| 三级毛片av免费| 中文字幕av成人在线电影| 久久久色成人| 中文亚洲av片在线观看爽| 午夜福利在线观看吧| 亚洲最大成人中文| 日韩成人av中文字幕在线观看| 国产伦在线观看视频一区| 日韩三级伦理在线观看| 尤物成人国产欧美一区二区三区| 成人国产麻豆网| 亚洲欧美精品综合久久99| 1000部很黄的大片| 男人的好看免费观看在线视频| www.av在线官网国产| 嫩草影院精品99| 午夜视频国产福利| 国产成人福利小说| 啦啦啦韩国在线观看视频| АⅤ资源中文在线天堂| 国产综合懂色| 久久久久久伊人网av| 丝袜喷水一区| 久久中文看片网| 久久精品国产鲁丝片午夜精品| 久久亚洲精品不卡| 精品久久久久久成人av| 哪个播放器可以免费观看大片| 久久久久性生活片| 大型黄色视频在线免费观看| 最近手机中文字幕大全| av.在线天堂| 日本欧美国产在线视频| 成年女人看的毛片在线观看| 午夜福利视频1000在线观看| 亚洲国产精品合色在线| 日日干狠狠操夜夜爽| 欧美人与善性xxx| 亚洲国产欧美人成| 中国美白少妇内射xxxbb| 美女xxoo啪啪120秒动态图| 欧美日本视频| 欧美性猛交╳xxx乱大交人| 国产亚洲精品av在线| 深爱激情五月婷婷| 熟妇人妻久久中文字幕3abv| 激情 狠狠 欧美| 亚洲欧美成人精品一区二区| 国产精品日韩av在线免费观看| 久久精品国产鲁丝片午夜精品| 欧美+亚洲+日韩+国产| av女优亚洲男人天堂| 亚洲国产高清在线一区二区三| 亚洲av第一区精品v没综合| 成人午夜精彩视频在线观看| 久久久精品94久久精品| 欧美变态另类bdsm刘玥| 变态另类丝袜制服| 久久久欧美国产精品| 欧美日韩乱码在线| 欧美潮喷喷水| 亚洲国产欧美人成| 日韩成人伦理影院| 99国产精品一区二区蜜桃av| 欧美日韩综合久久久久久| 美女内射精品一级片tv| 国产精品一区二区在线观看99 | 级片在线观看| 日韩欧美三级三区| 天堂网av新在线| 国产av不卡久久| 99热这里只有是精品50| 国产一区二区在线av高清观看| 18+在线观看网站| 久久综合国产亚洲精品| 国产精品99久久久久久久久| 免费人成视频x8x8入口观看| 欧美日韩综合久久久久久| 好男人视频免费观看在线| 国产精品一区二区三区四区免费观看| 乱人视频在线观看| 麻豆成人av视频| 两个人视频免费观看高清| 亚洲经典国产精华液单| 插阴视频在线观看视频| 日本黄色视频三级网站网址| 男人和女人高潮做爰伦理| 99久久久亚洲精品蜜臀av| 亚洲欧美清纯卡通| 国产一级毛片七仙女欲春2| 久久午夜亚洲精品久久| 成人毛片60女人毛片免费| 最近2019中文字幕mv第一页| 99国产极品粉嫩在线观看| 麻豆乱淫一区二区| 亚洲精品成人久久久久久| 直男gayav资源| 五月玫瑰六月丁香| 成人午夜精彩视频在线观看| 在线观看美女被高潮喷水网站|